Dim excelapp As Object
Set excelapp = CreateObject("Excel.Application")
É o que você está procurando. Se você não vê, use excelapp.visible = true
.
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!
Dim excelapp As Object
Set excelapp = CreateObject("Excel.Application")
É o que você está procurando. Se você não vê, use excelapp.visible = true
.
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.
Corrija as referências da API da seguinte forma:
Missing:
na lista