none
Exportar Arquivos de texto (.txt) do VBA RRS feed

  • Pergunta

  • Como faço para exportar um arquivo de texto do VBA para um arquivo já existente do bloco de notas? é que estpu usando o bloco de notas como banco de dados ai por queria exportar um dado do VBA para o arquivo já existente, mas isso consistiria em substituir apenas uma linha do bloco de notas sem alterar as outras que já existem, será que isso é possivel? Alguém por favor pode me ajudar?

    exemplo do que estaria no bloco de notas, e eu gostaria de alterar somente o item 003 sem mexer nos outros:

    001 Thiago 10Xcalças

    002 Fabio     5Xcalças

    003 Carlos  11Xcalças

    .

    .

    .

    385 Roberto 8 calças

     

    *detalhe para o sistema ficar rápido não quero importar o arquivo todo para o excel e edita-lo e depois exporta-lo corrigido, quero fazer a alteração direta no bloco de notas.

     

    quinta-feira, 13 de maio de 2010 17:37

Respostas

  • Boa Tarde, 

    espero que o código abaixo ajude...

    Sub SalvarLog()
     Dim i As Integer
     Dim path As String, arquivo As String
      Dim LogCompleto As String
    LogCompleto = Trim$(Application.UserName & " " & Now & " " & ActiveSheet.Name)
     
     path = "c:\logs\"
     Close #1
     Close #2
     arquivo = path & "Log.txt"
     
     Open arquivo For Append As #1
      Print #1, LogCompleto
     
    End Sub
    SE você substituir o comando APPEND por OUTPUT o excel substitui todo o arquivo dentro do txt por um novo, já o append 
    adiciona dados em uma nova linha
    sábado, 23 de abril de 2011 20:48

Todas as Respostas

  • Thiago,

    Segue um exemplo bem tosco. Acredito que a lógica não vá atender totalmente ao que você precisa, mas pelo menos já dá para manipular o arquivo de texto sem importá-lo todo na planilha.

    Adicionar Referência ao Microsoft Scripting Runtime:

    Sub arquivo_texto()
    Dim fso As New FileSystemObject
    Dim txt As TextStream
    Dim aux As String
    Dim arquivo As String
    arquivo = ""
    aux = ""
    Set txt = fso.OpenTextFile("c:\Arquivo.txt", ForReading, False)
    While Not txt.AtEndOfStream
      aux = txt.ReadLine
      If Left(aux, 3) = "001" Then
        aux = Left(aux, 3) & " " & "João das calças" & " 300xcalças"
      End If
      arquivo = arquivo & aux & vbNewLine
    Wend
    txt.Close
    Set txt = fso.OpenTextFile("c:\Arquivo.txt", ForWriting, False)
    txt.Write arquivo
    txt.Close
    
    End Sub
    sexta-feira, 14 de maio de 2010 20:16
  • Boa Tarde, 

    espero que o código abaixo ajude...

    Sub SalvarLog()
     Dim i As Integer
     Dim path As String, arquivo As String
      Dim LogCompleto As String
    LogCompleto = Trim$(Application.UserName & " " & Now & " " & ActiveSheet.Name)
     
     path = "c:\logs\"
     Close #1
     Close #2
     arquivo = path & "Log.txt"
     
     Open arquivo For Append As #1
      Print #1, LogCompleto
     
    End Sub
    SE você substituir o comando APPEND por OUTPUT o excel substitui todo o arquivo dentro do txt por um novo, já o append 
    adiciona dados em uma nova linha
    sábado, 23 de abril de 2011 20:48