Usuário com melhor resposta
Conexão Data Access Objects (DAO) entre 2 arquivos MS Excel

Pergunta
-
Olá a todos!
Gostaria de saber se é possível fazer conexão DAO entre 2 arquivos do MS Excel para acessar os registros contidos em uma planilha.
Atualmente utilizo o Microsoft ActiveX Data Objects (ADO), em um código semelhante ao exemplo abaixo, em que o primeiro arquivo, acessa o segundo arquivo Excel chamado Fonte.xlsx e seus registros.
Option Explicit
Public Sub ConexaoComExcelADO()
Dim cnnADO As ADODB.Connection
Dim rsADO As ADODB.Recordset
Set cnnADO = New ADODB.Connection
Set rsADO = New ADODB.Recordset
cnnADO.Open _
"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & ThisWorkbook.Path & _
"\Fonte.xlsx;Extended Properties='Excel 12.0;HDR = YES'"
Set rsADO = cnnADO.Execute("SELECT * FROM [P1$];")
rsADO.Close
Set rsADO = Nothing
cnnADO.Close
Set cnnADO = Nothing
End SubGostaria de saber, é possível criar um código semelhante para acessar outro arquivo do MS Excel utilizando DAO?
Desde já agradeço a todos
Att
Eduardo Dias
Respostas
-
Não vejo um bom motivo para usar DAO ao invés de ADO. No entanto, veja o link a seguir: https://support.microsoft.com/en-us/kb/190195
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Sugerido como Resposta 'Natan Silva terça-feira, 9 de junho de 2015 09:18
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator terça-feira, 9 de junho de 2015 12:58
Todas as Respostas
-
Eduardo,
Porque ao invés de utilizar conexão de dados, você não trabalha com o objeto do Excel ?
Você consegue manipular todas as linhas, colunas, valores, etc
'Declarações
Dim appExcel As Excel.application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet'O ARQUIVO EM EXCEL É CRIADO AQUI
Set appExcel = CreateObject("Excel.Application")
'ABRE PASTA DE TRABALHO
appExcel.Workbooks.Open FileName:="nomedapastadetrabalho.xls"
'SETA A PASTA DE TRABALHO
Set wb = appExcel.Workbooks("nomedapastadetrabalho.xls")
'SETA A GUIA DA PLANILHA
Set ws = wb.Sheets("nomedaguia").select
-
Não vejo um bom motivo para usar DAO ao invés de ADO. No entanto, veja o link a seguir: https://support.microsoft.com/en-us/kb/190195
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Sugerido como Resposta 'Natan Silva terça-feira, 9 de junho de 2015 09:18
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator terça-feira, 9 de junho de 2015 12:58
-
Felipe
Muito obrigado mesmo.
Deu super certo, agora além do ADO, também aprendi uma nova maneira utilizando DAO acessando registros do MS Excel.
Perdi muito tempo pesquisando, mas com sua ajuda foi muito simples.
Não tenho palavras para agradecer.
Att
Eduardo Dias