Ir ao conteúdo
  • Cadastre-se

problema com vba


Italiano

Posts recomendados

Oi tudo bem?

estou com um pequeno probrema o que quero fazer não é complicado, porém já tentei de tudo... a coisa não está indo...

tenho uma planílha excel, ela trabalha um monte de dados para mim. Quero pegar os dados gerados que ficam na coluna a da linha 1 até a 191 na pasta backlog e mandar ele para um documento de texto.

é só copiar e colar, uma operação simples porém não estou conseguindo fazer em vba, está complicado.

tenho o código que estou usando até agora, já tentei de outras forma porém não vai, no código abaixo tem uma váriável a mais acho, nem tirei ainda, já modifiquei muito eeste negócio..... além disso, não sei fazer ele fechar o arquivo.

Dim Arquivo As String

Dim oApp As Object

Dim oWord As Object

Dim a As String

'Valor da variável com o nome do arquivo

Arquivo = "C:\Program Files\IBM\Client Access\Emulator\Private\backlog.mac"

'Testar se o arquivo existe

If Not Dir(Arquivo) = "" Then

'Deletar o arquivo

Kill (Arquivo)

End If

'Criar o ducumento

Set oApp = CreateObject(Class:="Word.Application")

oApp.Visible = True

oApp.Documents.Add

'Salvar o documento

oApp.ActiveDocument.SaveAs (Arquivo)

'Vai para a parte Codigo

Sheets("backlog").Select

'Seleciona a tabela que contem o código e copia

Worksheets("codigo").[A3:a1148].Copy

Open "C:\Program Files\IBM\Client Access\Emulator\Private\backlog.maq" For Input As #1

Line Input #1, a

Range("a1:a191").Value = a

Close #1

'outras tentativas

'Colar no Arquivo

' ActiveCell.Paste = "=Backlog"

'Salvar o documento

'oApp.ActiveDocument.Save

End Sub

ele tem que deletar o antigo, e criar um novo porque não tem que haver nada além do que estou colocando lá, o que a tabela vai gerar para mim na verdade é uma linha de código, tipo um atalho para ser usado em um sistema, não sei se vocês conhecem JDEdwards.

bom até agora estou fazendo isso manualmente, gostaria de dar uma utimizada, valeu pessoal....

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Bom, antes de mais nada: você está criando um documento do Word para salvar o arquivo.

Até aí tudo bem, só que depois para escrever dentro deste arquivo, você teria que usar os métodos do objeto Word, e não abrir o arquivo como se fosse um arquivo texto sem formatação.

Bom, aqui vai um exemplo mais simples: copie e cole num módulo, e depois coloque um botão de formulário na planilha para chamar a rotina.

Public Sub GravarArquivo(Arquivo As String, Planilha As String, LinhaInicial As Long, LinhaFinal As Long, Coluna As Long)

    Dim FSO As Object, Memoria As Integer
    Dim Linha As Long, Celula As String
    
    '--------------------------------------------------
    'Atenção
    '--------------------------------------------------
    'Arquivo: nome do arquivo TXT a salvar
    'Planilha: nome da planilha que contém os dados
    'LinhaInicial: linha inicial a partir de onde os dados serão recuperados
    'LinhaFinal: linha final a partir de onde os dados serão recuperados
    'Coluna: coluna onde os dados serão recuperados
    '        A = 1, B = 2, C = 3, e assim por diante
    '--------------------------------------------------
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If FSO.FileExists(Arquivo) Then Kill Arquivo
    Set FSO = Nothing
    
    Memoria = FreeFile
    Open Arquivo For Output Access Write As Memoria
    
    With Worksheets(Planilha)
        
        For Linha = LinhaInicial To LinhaFinal
            Celula = Trim(.Cells(Linha, Coluna))
            If Not Celula = "" Then Print #Memoria, Celula
        Next
        
    End With
    
    Close Memoria
    
    MsgBox "Arquivo gravado.", vbInformation, "Mensagem"
    
End Sub

Exemplo de uso para chamar a rotina num botão:

GravarArquivo "C:\Program Files\IBM\Client Access\Emulator\Private\backlog.mac", "backlog", 1, 191, 1

:joia:

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!