locked
Abrir TXT sem dividir em colunas RRS feed

  • Pergunta

  • Olá pessoal,

     

    Estou fazendo uma macro que necessita abrir um arquivo txt sem dividí-lo (pois a macro fará isso numa etapa seguinte, de forma mais apropriada)

     

    Alguém tem alguma dica de como fazer isso?

     

    Abraço,

    segunda-feira, 28 de maio de 2007 19:07

Todas as Respostas

  •  

    Olá...

     

    Não sei se é isto que está querendo, mas você pode abrir o arquivo e fazer uma leitura sequencial normal.

     

    O exemplo abaixo abre um arquivo texto e faz a leitura linha a linha, mostrando na janela de debug.

     

    Code Snippet

       Dim str As String
       
        Open "C:\temp\grid.txt" For Input As #1
       
        Do Until EOF(1)
            Input #1, str
            Debug.Print str
        Loop
       
        Close #1

     

     

    É isso que precisa?

     

    Atenciosamente,

    Ronaldo Orbite

     

    terça-feira, 29 de maio de 2007 19:29
  • quase isso...

     

    na real achei uma solução bem simples...

     

    Eu queria que continuasse na 1a. coluna, mas sem separar como normalmente ocorre no Office então fiz assim:

     

        Workbooks.OpenText Filename:=endereco.SelectedItems(1), Origin:=xlWindows, _
            StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
            , Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
            TrailingMinusNumbers:=True

     

    E separei as colunas da forma que eu queria substituindo os espaços em branco por ";"


        Columns("A:A").Select
        Selection.Replace What:="  ", Replacement:=";", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
            Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
            True

    Meio bobo mas deu certo... hauhau

     

    Abraço

    quarta-feira, 30 de maio de 2007 17:40
  • Dá uma melhorada na qualidade do código (falo sobre o "layout da escrita")

    ...

    Fica melhor caso precise designar outro programador (digamos com menos conhecimento que você)  para ler e alterar algo . Será mais fácil para inclusão de outros blocos de código ou alteração dos existentes...

     

    Pensa com carinhuuu ..

    Mas tá bem legal a funcionalidade !

    Abraços.

    sexta-feira, 1 de junho de 2007 19:59