sábado, 12 de outubro de 2013

Importação de arquivo CSV no VBA

Outro dia me deparei com um problema muito estranho:
Utilizando o trivial "Open/Line Input/Close" para ler um arquivo CSV, ao fazer a leitura da primeira linha era carregado o arquivo inteiro (!) na variável string.
Provavelmente o arquivo não tinha o caracter de quebra de linha no final, mas o comportamento do VBA era muito estranho.
Pesquisando na net não vi nada sobre o assunto.

Ao experimentar com FileSystemObjects o mesmo se comportou da maneira como eu precisava, ou seja, a leitura seguiu de linha em linha e pude fazer a importação normalmente.

Ficam abaixo as 2 tentativas para consulta, sendo que o FileSystemObjects atendeu perfeitamente à necessidade da ocasião.
                              
;-)


Dim arquivo         As Variant
Dim fs              As New FileSystemObject  
Dim linha           As String
  
Set arquivo = fs.OpenTextFile(CurrentProject.Path & "\*.CSV", ForReading)   

linha = arquivo.ReadLine
Debug.Print linha
arquivo.Close



=====


    Dim arquivo     As String
    Dim linha       As String
   
    arquivo = Dir("C:\*.CSV")
    Open "C:\" & arquivo For Input As #1
    Line Input #1, linha
    Debug.Print linha
   
    Close #1

Nenhum comentário:

Pesquisar este blog

Arquivo do blog

Quem sou eu

Minha foto
Administrador de Empresas/Técnico em Processamento de Dados. Microsoft Office User Specialist - Excel Proficient. Pós-graduado em Business Intelligence.