none
Query para importar CSV delimitado para Excel RRS feed

  • Pergunta

  • Prezados,

    consigo rodar uma query para importar arquivo .csv para o Excel, porém não consigo separar nas colunas. O delimitador é ";", já pesquisei muito, apliquei as soluções que pude encontrar e mesmo assim não resolve.

    Segue código para avaliação e sugestões:

                             

    Public Sub QueryTextFile()

    Dim Recordset As ADODB.Recordset
    Dim ConnectionString As String
    Dim currentDataFilePath As String
    Dim currentDataFileName As String
    Dim nextRow As Integer

    currentDataFilePath = "C:\Users\raineto\Documents\DBM\"
    currentDataFileName = "FULL.csv"

    ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & currentDataFilePath & ";" & "Extended Properties=""Text;HDR=No;FMT=Delimited(;);"""

    Const SQL As String = "SELECT * FROM FULL.csv;"

    Set Recordset = New ADODB.Recordset
    Call Recordset.Open(SQL, ConnectionString, CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, CommandTypeEnum.adCmdText)
    Call Plan1.Range("A1").CopyFromRecordset(Recordset)
    Recordset.Close
    Set Recordset = Nothing

    End Sub

    Grato,

    Weivisson

    quinta-feira, 15 de setembro de 2016 17:48

Todas as Respostas

  • Weivisson,

    sempre que quero importar "CSV" para Excel eu utilizo "Conexões de Dados" para isso, e sempre funcionou perfeitamente, podendo inclusive escolher qualquer separador desejado.

    No seu caso é imprescindível fazer da forma que você citou?

    Se não for, para o código da Conexão basta usar o Gravador de Macros e adequar o código gerado.

    Abraço.


    Filipe Magno

    quinta-feira, 15 de setembro de 2016 18:59
  • Sim Filipe, nesse caso é imprescindível aplicar a solução na forma citada. ;)

    Grato,

    Weivisson

    sexta-feira, 23 de setembro de 2016 20:02
  • Weivisson,

    Há uma thread com um problema parecido, veja se não te ajuda.

    Excel VBA Automate to open CSV comma delimited file and copy to a worksheet

    Att,


    Antero Marques

    _______________________________________________________________________________

    Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta. O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.



    sábado, 24 de setembro de 2016 15:44