O PowerPoint exibe um erro "Não é possível iniciar o aplicativo" quando um objeto de gráfico do Excel é incorporado nele

StackOverflow https://stackoverflow.com/questions/3003448

Pergunta

Este é um problema muito comum quando a planilha ou gráfico do Excel é incorporada ao Word ou PowerPoint. Estou vendo esse problema no Word e PowerPoint e o motivo pelo qual parece ser o add com anexo ao Excel. O com add é escrito em C# (.NET). Consulte as imagens anexadas para obter diálogo de erro.

Depurei o Addin e encontrei um comportamento muito estranho. Os métodos OnConnection (...), OnDisconnection (...) etc. no add com o comandos funcionam bem até que eu adicione um manipulador de eventos ao código. ou seja, lidera o worksheet_sheetChange, SelectionChange ou qualquer evento semelhante disponível no Excel. Assim que adiciono até um único manipulador de eventos (embora meu código tenha vários), o Word e o PowerPoint começam a reclamar e não ativam o objeto incorporado.

Em algumas das postagens na Internet, as pessoas foram solicitadas a remover os addins antivírus para o cargo (nenhum no meu caso), para que isso me faça acreditar que o problema está um pouco relacionado aos addins com que são carregados quando o aplicativo host é ativado o objeto.

Alguém tem alguma ideia do que está acontecendo aqui?PowerPoint Error

Word Error

Atualizado em 21 de junho-2010


Descobriu que os eventos e as alterações na coleção Comaddins cria problemas quando o objeto incorporado é ativado. Agora usei a propriedade Excel :: Application :: UserControl para verificar se o Excel está no estado incorporado e, em seguida, pule qualquer código Onconnection (...) e OnDisconnection (...).

Uma solução para o problema de eventos pode ser mover todos os eventos do nível do aplicativo para o código VBA e ligar para o .NET. Removendo assim todos os manipuladores de eventos do código .NET.

Pode haver ainda mais cenários em que um objeto incorporado pode não inicializar, então eu escolho desativar os métodos com addin, ou seja, pular o código nos métodos OnConnection (...) e OnDisconnection (...) completamente.

Foi útil?

Solução

Aqui está o que eu fiz para me livrar desse problema irritante:

  1. Remova todos os manipuladores de eventos no código .NET e confie nos eventos de aplicativos VBA, ou seja, em vez de lidar . Os manipuladores de eventos .NET parecem corromper o estado de alguma forma.

  2. Desative qualquer código que interaja com o Addin no OnConnection (...) usando o sinalizador no parâmetro personalizado. Veja o seguinte link para obter detalhes sobre a bandeira:Com addins em detalhes

Mencionei sobre a propriedade Excel :: Application :: UserControl, mas não é confiável em alguns casos. Precisamos considerar os seguintes casos e o param de matriz personalizado é o OnConnection (...) é o mais confiável:

  1. Excel começou como aplicação independente
  2. O Excel começou como aplicativo incorporado em algum outro aplicativo
  3. O Excel começou através da automação, por exemplo, CreateObject (...)

Eu preferia desativar totalmente o addin quando o Excel está no modo incorporado. Depende de qual código você está executando no seu OnConnection (...) e como outros aplicativos respondem quando executados. O ponto 1 1 deve ser implementado para resolver esse problema.

Se alguém tiver uma solução melhor para isso, por favor me avise :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top