Bom dia,
Se possivel, gostaria de uma ajuda de vocês para melhorar o código de importação excel.
Hoje estou utilizando o código abaixo para importar um arquivo excel para o access, mas ainda acho que ele tem alguns problemas e por isso estou pedindo ajuda.
1- Quando ele não localiza o arquivo, o código trava. Gostaria de verificar antes se o arquivo existe na pasta.
2- Eu tenho 8 label's no meu formUpdate (st1 até 8.), gostaria que apos verificar que o arquivo não exista ele transfira essa informação para o label dele. Já armazeno o nome do label na variavel semaforo ->>> Form_frmUpdate.semaforo.ForeColor = &HFF&
mas esse código não funcionou como eu queria. (Erro de compilação)
Muito Obrigado pela ajuda
Se possivel, gostaria de uma ajuda de vocês para melhorar o código de importação excel.
Hoje estou utilizando o código abaixo para importar um arquivo excel para o access, mas ainda acho que ele tem alguns problemas e por isso estou pedindo ajuda.
1- Quando ele não localiza o arquivo, o código trava. Gostaria de verificar antes se o arquivo existe na pasta.
2- Eu tenho 8 label's no meu formUpdate (st1 até 8.), gostaria que apos verificar que o arquivo não exista ele transfira essa informação para o label dele. Já armazeno o nome do label na variavel semaforo ->>> Form_frmUpdate.semaforo.ForeColor = &HFF&
mas esse código não funcionou como eu queria. (Erro de compilação)
Muito Obrigado pela ajuda
- Código:
caminho = CurrentProject.Path & "\Dados\"
Dim oRS As DAO.Recordset, i As Integer, j As Integer, SFile As String
Dim oXL As Excel.application
Dim oWb As Excel.Workbook
Dim oWs As Excel.Worksheet
Dim oSelect As Excel.Range
'---
Set oXL = CreateObject("Excel.Application")
SFile = caminho & "SapE" & refMes & TAM & ".xls"
Set oWb = oXL.Workbooks.Open(SFile)
Set oWs = oWb.ActiveSheet
Set oSelect = oWs.Cells(4, 1).CurrentRegion
Set oRS = CurrentDb.OpenRecordset("tblTeste")
'LOOP for include data in database
i2 = 1
For i = 2 To oSelect.Rows.Count
If (Not oSelect.Range("A" & i) Like "*Tipo*") And (Not oSelect.Range("C" & i) Like "*Resultado*") And (Not oSelect.Range("A" & i) Like "*Resultado*") Then
i2 = i2 + 1
Form_frmUpdate.shpProgressBar.Width = Form_frmUpdate.shpProgressBar.Width + e
oRS.AddNew
oRS.Fields(0) = oSelect.Range("A" & i)
oRS.Fields(1) = oSelect.Range("C" & i)
oRS.Fields(2) = oSelect.Range("H" & i)
oRS.Fields(3) = oSelect.Range("I" & i)
oRS.Fields(4) = Replace(oSelect.Range("J" & i), "/", "")
oRS.Fields(5) = oSelect.Range("L" & i)
oRS.Fields(6) = oSelect.Range("N" & i)
oRS.Fields(7) = oSelect.Range("O" & i)
oRS.Update
End If
Next i
oXL.Quit
End If