Excel VBA e Late-Binding

0

Eu pesquisei a Web em níveis alto e baixo e leia o artigo de suporte muito bom da Microsoft aqui , assim como muitos outros.

Minha situação é que escrevi uma solução de excel moderadamente complexa usando muito VBA na minha plataforma do Office 2010 no trabalho, segmentada para cerca de 900 usuários.

Parte dele faz interface com o Powerpoint para criar alguns slides.

Cerca de metade do nosso departamento está no Office 2013 agora. Continuaremos a ser uma loja de versão de escritório duplo por mais algum tempo. Então, é claro que quando um usuário em 2013 usa meu Excel e o envia para um usuário 2010 , o aplicativo trava quando 2010 não consegue resolver o < strong> "missing" referências de powerpoint que 2013 implementaram como aquele usuário de 2013 abriu e salvou o arquivo excel.

Portanto, implementar ligação tardia nas sub-rotinas do Powerpoint parece ter resolvido o problema.

Em todos os artigos que li que discutem a implementação de ligação tardia em um contexto do Excel, os exemplos são sempre aplicativos cruzados (por exemplo, interface do Excel com o Outlook, Powerpoint ou Word). Além disso, noto no meu teste que, quando abro meu arquivo criado em 2010 , ele faz referência à Biblioteca de Objetos do Office 14.0 e à Biblioteca de Objetos do Excel 14.0 (há muito que removi a referência da biblioteca do Powerpoint); então quando abro e uso em 2013 , essas referências se tornam 15,0 (não é surpresa).

O que levantou uma sobrancelha foi quando eu transferi esse arquivo para o meu ambiente de 2010 e o abri, o Excel mudou as referências de volta para 14.0 .

Então, minha pergunta é:

Eu realmente resolvi o meu problema de plataforma para vários escritórios? Ou há algo à espreita à frente que me morda?

Mais especificamente:

Preciso atrasar o material do aplicativo Excel (por exemplo, dim xlapp as object e, em seguida, usar CreateObject ... e outros exemplos para que tudo -Excel é resolvido em tempo de execução - livros, planilhas, células, etc) em um aplicativo do Excel para que uma futura versão do escritório funcione sempre de uma maneira compatível com versões anteriores?

Ou, contanto que você permaneça nesse aplicativo Excel nativo, a Microsoft é inteligente o suficiente para lidar com isso ... como parece estar fazendo agora ... e só se preocupe com código de interface de aplicação cruzada tardia de ligação?

Desculpe ser detalhado. Eu queria garantir que você possa entender o contexto completo.

    
por Sandy Paternotte 03.10.2016 / 00:26

0 respostas