Olá pessoal, tudo bem?
Vou recorrer a vocês, mestres do Access
Estou com uma dúvida sobre como importar um Excel com extensão xlsx e que possui informações nas primeiras 9 linhas que precisam ser desconsideradas. Estou com uma programação em vba que faz todo este trabalho, mas com arquivo txt, mas pra xlsx não consegui.
Busquei a solução aqui no forum mas não achei informações que pudessem me ajudar...
Código para importação de txt:
Coloquei o banco e o arquivo em anexo para ajudar contextualizar minha situação.
Muito obrigado desde já!
Vou recorrer a vocês, mestres do Access
Estou com uma dúvida sobre como importar um Excel com extensão xlsx e que possui informações nas primeiras 9 linhas que precisam ser desconsideradas. Estou com uma programação em vba que faz todo este trabalho, mas com arquivo txt, mas pra xlsx não consegui.
Busquei a solução aqui no forum mas não achei informações que pudessem me ajudar...
Código para importação de txt:
- Código:
Option Compare Database
Public Function Importar_login_logout()
Dim strFile As String
Dim Linha As String
Dim rs As DAO.Recordset
Dim Matriz() As String
Dim strsql As String
strPath = "S:\PRD\SAP\CRM\Analitico\IO\Workcenter\DetalhamChatsTratados"
F = FreeFile
Set rs = CurrentDb.OpenRecordset("tbl_teste")
If Weekday(Date, vbSunday) = 2 Then
strFile1 = Dir(strPath & "\" & "Detalhado_Chat_" & Day(Date - 2) & Month(Date) & Year(Date) & "*.xlsx") 'nome do seu excel, se mudar para "*.xls" importa todas as folhas excel que estiverem em C:\ para a _ tabela do banco.
strPathFile1 = strPath & strFile1
strFile2 = Dir(strPath & "\" & "Detalhado_Chat_" & Day(Date - 1) & Month(Date) & Year(Date) & "*.xlsx") 'nome do seu excel, se mudar para "*.xls" importa todas as folhas excel que estiverem em C:\ para a _ tabela do banco.
strPathFile2 = strPath & strFile2
strFile3 = Dir(strPath & "\" & "Detalhado_Chat_" & Day(Date) & Month(Date) & Year(Date) & "*.xlsx") 'nome do seu excel, se mudar para "*.xls" importa todas as folhas excel que estiverem em C:\ para a _ tabela do banco.
strPathFile3 = strPath & strFile3
F = FreeFile
Set rs = CurrentDb.OpenRecordset("TB_Login_Logout")
Open strPathFile1 For Input As #F
Line Input #F, Dummy1 ' Pula a 1ª linha
Line Input #F, Dummy2 ' Pula a 2ª linha
Line Input #F, Dummy3 ' Pula a 3ª linha
Line Input #F, Dummy4 ' Pula a 4ª linha
Line Input #F, Dummy5 ' Pula a 5ª linha
Line Input #F, Dummy6 ' Pula a 6ª linha
Line Input #F, Dummy7 ' Pula a 7ª linha
Line Input #F, Dummy8 ' Pula a 8ª linha
Line Input #F, Dummy9 ' Pula a 9ª linha
Do While Not EOF(F) ' Começa a importação a partir da 10ª linha
Line Input #F, Linha 'lê uma linha do arquivo Excel
Matriz() = Split(Linha, vbTab)
rs.AddNew
rs!Protocolo = Matriz(0)
rs!Segmento = Matriz(1)
rs!Entrada_no_Sistema = Matriz(2)
rs.Update
Loop
Close #F
Open strPathFile2 For Input As #F
Line Input #F, Dummy1 ' Pula a 1ª linha
Line Input #F, Dummy2 ' Pula a 2ª linha
Line Input #F, Dummy3 ' Pula a 3ª linha
Line Input #F, Dummy4 ' Pula a 4ª linha
Line Input #F, Dummy5 ' Pula a 5ª linha
Line Input #F, Dummy6 ' Pula a 6ª linha
Line Input #F, Dummy7 ' Pula a 7ª linha
Line Input #F, Dummy8 ' Pula a 8ª linha
Line Input #F, Dummy9 ' Pula a 9ª linha
Do While Not EOF(F) ' Começa a importação a partir da 5ª linha
Line Input #F, Linha 'lê uma linha do arquivo Excel
Matriz() = Split(Linha, vbTab)
rs.AddNew
rs!Protocolo = Matriz(0)
rs!Segmento = Matriz(1)
rs!Entrada_no_Sistema = Matriz(2)
rs.Update
Loop
Close #F
Open strPathFile3 For Input As #F
Line Input #F, Dummy1 ' Pula a 1ª linha
Line Input #F, Dummy1 ' Pula a 1ª linha
Line Input #F, Dummy2 ' Pula a 2ª linha
Line Input #F, Dummy3 ' Pula a 3ª linha
Line Input #F, Dummy4 ' Pula a 4ª linha
Line Input #F, Dummy5 ' Pula a 5ª linha
Line Input #F, Dummy6 ' Pula a 6ª linha
Line Input #F, Dummy7 ' Pula a 7ª linha
Line Input #F, Dummy8 ' Pula a 8ª linha
Line Input #F, Dummy9 ' Pula a 9ª linha
Do While Not EOF(F) ' Começa a importação a partir da 5ª linha
Line Input #F, Linha 'lê uma linha do arquivo Excel
Matriz() = Split(Linha, vbTab)
rs.AddNew
rs!Protocolo = Matriz(0)
rs!Segmento = Matriz(1)
rs!Entrada_no_Sistema = Matriz(2)
rs.Update
Loop
Close #F
rs.Close
MsgBox "Final de Semana Atualizado com Sucesso!"
Else
strFile = Dir(strPath & "\" & "Detalhado_Chat_" & Day(Date) & Month(Date) & Year(Date) & "*.xlsx")
strPathFile = strPath & "\" & strFile
Open strPathFile For Input As #F
Line Input #F, Dummy1 ' Pula a 1ª linha
Line Input #F, Dummy1 ' Pula a 1ª linha
Line Input #F, Dummy2 ' Pula a 2ª linha
Line Input #F, Dummy3 ' Pula a 3ª linha
Line Input #F, Dummy4 ' Pula a 4ª linha
Line Input #F, Dummy5 ' Pula a 5ª linha
Line Input #F, Dummy6 ' Pula a 6ª linha
Line Input #F, Dummy7 ' Pula a 7ª linha
Line Input #F, Dummy8 ' Pula a 8ª linha
Line Input #F, Dummy9 ' Pula a 9ª linha
Coloquei o banco e o arquivo em anexo para ajudar contextualizar minha situação.
Muito obrigado desde já!
- Anexos
- Base do Workcenter.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (218 Kb) Baixado 10 vez(es)