Postarei em breve vários exemplos de utilização do ADO no VBA.
Esta é a dica para importar arquivos texto com os campos separados por vírgula (CSV - Comma Separated Values). Basta copiar o código e ajustar o caminho/nome do arquivo csv:
Option Explicit
Private Sub importa()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim adcomm As New ADODB.Command
Dim caminho As String
Dim linha As Integer
Dim coluna As Integer
caminho = "D:\paulo\Projetos VB\ADO Arquivo Texto\"
'Conexão para arquivo texto sem cabeçalho:
'connCSV.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
'& caminho & ";Extended Properties='text;HDR=NO;FMT=Delimited'"
'Conexão para arquivo texto com cabeçalho e colunas
cnn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" _
& caminho & ";Extensions=asc,csv,tab,txt;HDR=NO;Persist Security Info=False"
rst.Open "Select * From TesteDeDados.txt", cnn, adOpenStatic, adLockReadOnly, adCmdText
linha = 1
coluna = 1
Do While Not rst.EOF
Cells(linha, coluna).Value = rst(0)
Cells(linha, coluna + 1).Value = rst(1)
rst.MoveNext
linha = linha + 1
Loop
cnn.Close
Set cnn = Nothing
End Sub
3 comentários:
Boa Noite, Kazu.
Estou tentando importar um arquivo texto para uma tabela access. Neste caso, devo criar um botão livre de script e acrescentar este código no modo macro ou código, seria isto ?
obrigado.
Massaiti
Boa noite!
Em linhas gerais sim, mas tem vários ajustes que precisam ser feitos, este é um exemplo bem simplificado.
Sua importação necessita ser via código?
O assistente de importação do Access não atende?
Entre em contato no meu e-mail para que eu possa ajudá-lo:
paulo.kazumiti@hotmail.com
abs!
He intención de publicar algo como esto en mi página web y me dio una idea. Saludos.
Postar um comentário