Eu estou tentando fazer um script em VBA no qual eu importo determinados valores de celulas (Strings) no Excel para meu banco de dados Access. Tive dificuldade para achar esse tipo de codigo... e consegui um que chega proximo do que eu quero, mas nesse codigo ele busca por referencia a nomes de celulas no Excel (não tenho certeza). Vi também que existem comandos como Range("").Value e Cells(1,1).Value que fazem exatamente o que eu preciso... mas eu infelizmente não sei como aplica-los no meu codigo. Segue meu codigo :
Function CargaImpact()
Set fs = Application.FileSearch
Dim strQry As String
Dim myRec As DAO.Recordset
Dim dbExcel As DAO.Database
Dim rsExcel As DAO.Recordset
Set myRec = CurrentDb.OpenRecordset("Pesquisa")
fs.LookIn = "C:\Documents and Settings\galves\My Documents\Projeto Office\Pesquisas"
fs.Execute
fs.FileName = "*.*"
MsgBox fs.FoundFiles.Count
For i = 1 To fs.FoundFiles.Count
Set dbExcel = OpenDatabase(fs.FoundFiles(i), False, True, "Excel 8.0; HDR=YES;")
Pergunta
gaspar.gualves
Olá pessoal,
Eu estou tentando fazer um script em VBA no qual eu importo determinados valores de celulas (Strings) no Excel para meu banco de dados Access. Tive dificuldade para achar esse tipo de codigo... e consegui um que chega proximo do que eu quero, mas nesse codigo ele busca por referencia a nomes de celulas no Excel (não tenho certeza). Vi também que existem comandos como Range("").Value e Cells(1,1).Value que fazem exatamente o que eu preciso... mas eu infelizmente não sei como aplica-los no meu codigo. Segue meu codigo :
Function CargaImpact()
Set fs = Application.FileSearch
Dim strQry As String
Dim myRec As DAO.Recordset
Dim dbExcel As DAO.Database
Dim rsExcel As DAO.Recordset
Set myRec = CurrentDb.OpenRecordset("Pesquisa")
fs.LookIn = "C:\Documents and Settings\galves\My Documents\Projeto Office\Pesquisas"
fs.Execute
fs.FileName = "*.*"
MsgBox fs.FoundFiles.Count
For i = 1 To fs.FoundFiles.Count
Set dbExcel = OpenDatabase(fs.FoundFiles(i), False, True, "Excel 8.0; HDR=YES;")
Set rsExcel = dbExcel.OpenRecordset("Sheet1$")
Do While Not rsExcel.EOF
myRec.AddNew
myRec.Fields("Incident ID") = rsExcel.Fields("Incident ID")
myRec.Fields("day") = Day(rsExcel.Fields("Open Time"))
myRec.Fields("month") = Month(rsExcel.Fields("Open Time"))
myRec.Fields("hour") = Hour(rsExcel.Fields("Open Time"))
myRec.Fields("Contact") = rsExcel.Fields("Contact")
myRec.Fields("Location") = rsExcel.Fields("Location")
myRec.Fields("Description") = Left(rsExcel.Fields("Brief Description"), 254)
myRec.Fields("Opened By") = rsExcel.Fields("Opened By")
myRec.Fields("CI") = rsExcel.Fields("CI Name")
myRec.Fields("auto") = rsExcel.Fields("Automated (excl Resolved)")
myRec.Fields("Problem Status") = rsExcel.Fields("Problem Status")
myRec.Fields("Status") = rsExcel.Fields("Status")
myRec.Fields("file") = fs.FoundFiles(i)
myRec.Update
'Read records and process data
rsExcel.MoveNext
Loop
Next i
End Function
Obrigado desde já pela atenção,
Aguardo Respostas.
Editado por gaspar.gualvesLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.