none
Conexão Data Access Objects (DAO) entre 2 arquivos MS Excel RRS feed

  • 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 Sub

    Gostaria 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

    quinta-feira, 4 de junho de 2015 19:03

Respostas

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


    segunda-feira, 8 de junho de 2015 11:26
  • 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

    segunda-feira, 8 de junho de 2015 17:35
    Moderador
  • 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

    terça-feira, 9 de junho de 2015 02:46