Excel OLE - NET COM AddIn comporta de forma diferente quando o Excel está incorporado em um aplicativo

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

Pergunta

Eu tenho um .NET (C #) suplemento que utiliza uma COM Shim dll para carregar-se em Excel. O suplemento funciona bem, sem qualquer problema quando o Excel é executado normalmente. O suplemento exibe a sua própria barra de ferramentas personalizada no Excel que é usado para executar comandos diferentes.

Quando eu incorporar Excel em outro aplicativo (por exemplo DSOFramer etc), o suplemento começa a se comportar estranhamente. Parece que se eu desativar um botão na sua barra de ferramentas, em seguida, ele não fica habilitado novamente depois de definir a propriedade Visible. Além disso, eu recebo um monte de "referência de objeto não definida" erros, porque o Aplicativo :: objeto Selection é NULL que nunca acontece quando o Excel está funcionando normalmente. Às vezes eu também obter erros de permissão quando da Aplicação :: GetAddIns () é chamado.

Eu não estou certo o que está acontecendo aqui e eu não poderia encontrar um artigos que explica o comportamento de Excel COM suplementos quando o Excel é incorporado dentro de outro aplicativo.

Foi útil?

Solução 2

entrei em contato com Microsoft Professional para este problema e descobriu que a Microsoft agora desencoraja aplicações de escritório de incorporação. I foi sugerido que quer parar a incorporação do Excel para o aplicativo ou usar somente Excel 2007 que tem uma interface Ribbon. De acordo com o MS, a interface Ribbon não tem esses problemas.

O problema com os CommandBars é que a negociação só acontece durante o OnConnection e nenhuma mudança pode ser feita mais tarde.

Outras dicas

Eu tenho que admitir que eu não sei muito sobre DSOFramer, mas eu correr nos seguintes itens. Eu não sei se estes ajuda em tudo.

texto do link

texto do link

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