Boa tarde
Pesquisando aqui no forum e em outras documentações eu consegui criar um códido para importar dados de uma planilha do Excel 2013 para uma tabela do Access 2013.
O código é:
Quando eu faço a importação, ela ocorre com sucesso. Os dados da planilha são gravados com sucesso na tabela, sem erros.
Porém eu vejo que, ao iniciar a importação o arquivo selecionado é aberto no Excel, e após concluir a importação o arquivo não é fechado. O Excel mantém o arquivo aberto.
Pelo que entendi do código, na linha Set wb = appExcel.Workbooks.Open(FILE) o arquivo é aberto. E wb.Close talvez fosse a linha que fecharia.
Mas não fecha. Tentei configurar alguma linhas pesquisando aqui no forum e também outras fontes mas sem sucesso.
Se algum amigo puder me ajudar, agradeço desde já.
Muito obrigado!!!
Enio Eltz Filho
Pesquisando aqui no forum e em outras documentações eu consegui criar um códido para importar dados de uma planilha do Excel 2013 para uma tabela do Access 2013.
O código é:
- Código:
If Len(Me.campo_caminho_arquivo & vbNullString) = 0 Then ' Testa se local contém alguma coisa
MsgBox "Informe o nome do arquivo a ser importado", vbExclamation + vbOKOnly, "Vazio"
Me.campo_caminho_arquivo.SetFocus
Exit Sub
End If
If Len(Dir(Me.campo_caminho_arquivo)) = 0 Then ' Testa a existência do arquivo
MsgBox "O arquivo não existe!!!", vbCritical + vbOKOnly, "Erro"
Me.campo_caminho_arquivo.SetFocus
Exit Sub
End If
FILE = Me.campo_caminho_arquivo 'faz FILE como o diretório do arquivo + arquivo
Dim msgConfirmacao As VBA.VbMsgBoxResult
msgConfirmacao = MsgBox("Deseja Realmente incluir os dados no Banco de Dados?", vbQuestion + vbYesNo, "Importar")
Dim appExcel As Excel.Application
Dim wb As Excel.Workbook
Dim sh As Excel.Worksheet
Dim strValue As String
Dim strTable As String
strTable = "tbl_CadDIDs"
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Open(FILE)
For Each sh In wb.Sheets
Debug.Print sh.Name
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, FILE, True, sh.Name & "!"
Next
wb.Close
On Error GoTo 0
MsgBox "Importação Concluída com Sucesso!!"
Forms!fml_CadDIDs.Requery
Me.campo_caminho_arquivo.Value = ""
DoCmd.GoToRecord , , acLast
Me.bt_novo.SetFocus
End Sub
Quando eu faço a importação, ela ocorre com sucesso. Os dados da planilha são gravados com sucesso na tabela, sem erros.
Porém eu vejo que, ao iniciar a importação o arquivo selecionado é aberto no Excel, e após concluir a importação o arquivo não é fechado. O Excel mantém o arquivo aberto.
Pelo que entendi do código, na linha Set wb = appExcel.Workbooks.Open(FILE) o arquivo é aberto. E wb.Close talvez fosse a linha que fecharia.
Mas não fecha. Tentei configurar alguma linhas pesquisando aqui no forum e também outras fontes mas sem sucesso.
Se algum amigo puder me ajudar, agradeço desde já.
Muito obrigado!!!
Enio Eltz Filho