Referência à macro do Word O Excel funcionou no Office 2007, mas falha em 2010

1

Eu criei uma macro VBA no Word 2007 que determina se o Excel e uma pasta de trabalho específica do Excel está aberta, abre a pasta de trabalho (e o Excel, se necessário) e executa várias tarefas na pasta de trabalho.

Em Ferramentas / Referências, verifiquei a Biblioteca de Objetos do Microsoft Word 12.0, a Biblioteca de Objetos do Microsoft Office 12.0 e a Biblioteca de Objetos do Microsoft Excel 12.0. As macros funcionaram muito bem. Em seguida, mudei recentemente para um novo PC e Office 2010 e nenhum dos comandos abaixo produz resultados - o appExcel continua a ser Nothing.

Set appExcel = GetObject(, "Excel.Application")

Set appExcel = CreateObject("Excel.Application")

Pesquisei alto e baixo para obter informações específicas sobre como remediar isso, mas sem sucesso. Eu encontrei várias informações que apontam tanto para as dlls de 2007 e 2010 que estão sendo registradas, ou para aquelas que são necessárias para não serem registradas, mas em nenhum lugar eu posso encontrar instruções sobre como registrar ou cancelar o registro. Nem posso encontrar claramente os nomes dos arquivos envolvidos. Espero que alguém no Stack Exchange possa ajudar!

    
por Robert Johnson 23.07.2015 / 20:37

3 respostas

1

Dim excelapp As Object
Set excelapp = CreateObject("Excel.Application")

É o que você está procurando. Se você não vê, use excelapp.visible = true .

    
por 23.07.2015 / 21:10
1

Enquanto a correção recomendada pelo Raystafarian ajudou, a solução completa incluiu a remoção da seguinte chave de registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib{00020813-0000-0000-C000-000000000046}.8

Agora sou um campista muito feliz.

    
por 30.07.2015 / 00:16
0

Corrija as referências da API da seguinte forma:

  1. No Excel, pressione Alt + F11 para ir para a janela de codificação
  2. Abra o menu Ferramentas e escolha Referências
  3. Desmarque o item Missing: na lista
  4. Role para baixo e adicione uma referência à nova versão do Microsoft Word.
por 30.07.2015 / 22:09