Conexão ADODB e Excel 2016

Bom dia,

Estou utilizando uma aplicação que irá ler dados de uma planilha no Excel 2016.
No caso, o Pacote Office não está ativo no computador, porém instalei o Microsoft Access Database Engine 2016 Redistributable.

Copiei a mesma aplicação de uma outra máquina que contém o Excel 2013 ativo e sem alterar nada, a comunicação aparentemente não funciona.

No caso, na máquina que contém o Excel 13, quando a aplicação está rodando e eu tento abrir o arquivo, a mensagem que aparece é “teste.xlsx está bloqueado para edição […]”, enquanto na máquina que contém o Excel 16, o arquivo abre normalmente.

Tentei abordar alguns pontos que podem ser o problema, mas não obtive sucesso:

  • Algo faltando de ser instalado (driver, componente) no Windows
  • Alteração na ConnectionString utilizada na tag DBConn (o código abaixo é o que funciona na máquina que contém o Excel 13)

**
'Cria conexão com o banco de dados
Set Value = CreateObject(“ADODB.Connection”)

'String de conexão usando uma conexão ODBC
'Value.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=ExcelConnection;Mode=ReadWrite"

Value.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=teste.xlsx;Extended Properties=Excel 12.0 Xml"
  • Ativar o Pacote Office (não fui atrás desta opção, pois não é a viável no momento e, é claro, se eu conseguir fazer funcionar sem ativar o Pacote, melhor).

Qualquer ajuda é bem vinda,
Obrigado.

Mateus,

Com base em alguns artigos que encontrei na internet, instalei a versão 32 bits do Microsoft Access Database Engine 2010 Redistributable e funcionou. Experimenta fazer isso!

Bom dia Paulo,

Pois bem, eu instalei ontem durante a manhã, umas 4 ou 5 versões diferentes do Microsoft Access Database Engine.

Para confirmar que o problema não era a aplicação, copiei a mesma para um terceiro computador (que tem o Office 13 ativo) onde, ao rodar pela primeira vez deu o mesmo erro, porém instalando esta versão citada por você do Database Engine, funcionou.

Com isso, imagino que o problema esteja relacionado ao Office não estar ativo ou a versão do mesmo.

No meu teste, o Office 2016 estava instalado.

Então podemos concluir que o Office deve estar ativado para que esta aplicação funcione, correto?

Você não conseguiu fazer funcionar no computador sem o Office, mesmo instalando o Microsoft Access Database Engine 2010 32 bits?

Paulo,

Contatei o TI da empresa para liberar uma licença aqui, foi liberado o Office 16 e só consegui fazer funcionar com o Microsoft Access Database Engine 2016 64 bits.

Muito obrigado.

1 Like