Boa tarde amigos,
Tenho uma rotina que faz a importação de todos os arquivos de uma pasta na rede por meio de Recordset.
A rotina funciona muito bem desde que não seja alterado o nome da sheet do excel a qual desejo importar.
Podem me ajudar dizendo como faço para abrir a sheet pela posição e não pelo seu nome?
Desde já agradeço pela ajuda!
Abaixo o trecho que faz a abertura da sheet:
Abaixo o código na integra:
Tenho uma rotina que faz a importação de todos os arquivos de uma pasta na rede por meio de Recordset.
A rotina funciona muito bem desde que não seja alterado o nome da sheet do excel a qual desejo importar.
Podem me ajudar dizendo como faço para abrir a sheet pela posição e não pelo seu nome?
Desde já agradeço pela ajuda!
Abaixo o trecho que faz a abertura da sheet:
- Código:
Set dbExcel = OpenDatabase(strPathFile, False, True, "Excel 8.0; HDR=NO; IMEX=1;")
Set rsExcel = dbExcel.OpenRecordset("Planilha1$")
Abaixo o código na integra:
- Código:
Public Function ImpNovosCasos()
CurrentDb.Execute "DELETE * FROM tbProducao"
'IMPORT
blnHasFieldNames = True
strPath = (CurrentProject.Path & "\Input\") 'Caminho
strTable = "tbProducao" 'nome da tabela no seu banco
strFile = Dir(strPath & "*.xlsx") 'nome do excel a ser importado
Do While Len(strFile) > 0
strPathFile = strPath & strFile
'INÍCIO
Dim dbLocal As DAO.Database
Dim myRec As DAO.Recordset
Dim dbExcel As DAO.Database
Dim rsExcel As DAO.Recordset
Dim rsTable As DAO.Recordset
Dim Planilha As String
Set myRec = CurrentDb.OpenRecordset("tbProducao")
Set dbLocal = CurrentDb
Planilha = strFile
Set dbExcel = OpenDatabase(strPathFile, False, True, "Excel 8.0; HDR=NO; IMEX=1;")
Set rsExcel = dbExcel.OpenRecordset("Planilha1$")
rsExcel.MoveNext
Do While Not rsExcel.EOF
myRec.AddNew
coluna = "DATA_ENVIO"
myRec.Fields(coluna) = Trim(rsExcel.Fields(1))
coluna = "ESCRITORIO"
myRec.Fields(coluna) = Trim(rsExcel.Fields(2))
coluna = "TIPO"
myRec.Fields(coluna) = Trim(rsExcel.Fields(3))
coluna = "N_PROCESSO"
myRec.Fields(coluna) = Trim(rsExcel.Fields(4))
coluna = "AUTOR"
myRec.Fields(coluna) = Trim(rsExcel.Fields(5))
coluna = "COMARCA"
myRec.Fields(coluna) = Trim(rsExcel.Fields(6))
coluna = "UF"
myRec.Fields(coluna) = Trim(rsExcel.Fields(7))
coluna = "VALOR_RESGATADO"
myRec.Fields(coluna) = Trim(rsExcel.Fields(8))
coluna = "IR"
myRec.Fields(coluna) = Trim(rsExcel.Fields(10))
coluna = "VALOR_TARIFA"
myRec.Fields(coluna) = Trim(rsExcel.Fields(11))
coluna = "N_ALVARA"
myRec.Fields(coluna) = Trim(rsExcel.Fields(12))
coluna = "DATA_ALVARA"
myRec.Fields(coluna) = Trim(rsExcel.Fields(13))
coluna = "N_CONTA"
myRec.Fields(coluna) = Trim(rsExcel.Fields(14))
coluna = "ATENCAO"
myRec.Fields(coluna) = "-"
myRec.Update
rsExcel.MoveNext
Loop
rsExcel.Close
Set rsExcel = Nothing
dbExcel.Close
Set dbExcel = Nothing
dbLocal.Close
Set dbLocal = Nothing
'FIM
strFile = Dir()
Loop
MSGBOX "FIM!"
End Function