Microsoft não gosta de VBA no Microsoft Office, e gostaria de se livrar dele (eu nunca tenho certeza do porquê). Estão agora na sua segunda dentada desta cereja (indigestível). As duas mordidas são:

Mordida Notas
Visual Studio Tools para o Office VSTO foi introduzida uma feira de alguns anos atrás, e temos o orgulho de anunciar um curso, acreditando que este poderia eventualmente permitir que as pessoas para desenvolver aplicações baseadas em Microsoft Office. Nunca recebemos uma única pergunta sobre este curso, e nunca funcionou.
JavaScript for Office Office-js tem vindo a ser gradualmente melhorado ao longo dos últimos anos. O grande ponto de venda é que enquanto VBA só funciona para Microsoft Office no Windows ou no Mac, JavaScript irá trabalhar para versões do Excel executando na web, seu telefone ou seu tablet.

então o que não há para gostar sobre JavaScript para Escritório? Bastante, ao que parece. Este blog lista 3 razões realmente boas para não se preocupar em aprender JavaScript para o escritório, a menos que você absolutamente tem que.

no interesse da divulgação completa, posso ver uma razão pela qual você pode querer aprender JavaScript para o MS Office: ele é suportado dentro do OneNote, o que VBA não é.

razão 1 – Set-up e despesas de implantação

deseja escrever um programa no VBA dentro do Excel? Aqui estão as instruções:

  1. Open Excel.
  2. Press Alt + F11.
  3. iniciar a codificação.execute suas macros para testá-las pressionando F5.
  4. grava o seu livro de trabalho como um ficheiro com uma macro activa.envia-o para o mundo!

deseja desenvolver em JavaScript para o MS Office? Aqui estão os (simplificado) instruções:

o Que você vai precisar Notas
Um ambiente de desenvolvimento Se você é um desenvolvedor da Microsoft, faz sentido usar o Visual Studio como o IDE (Ambiente de Desenvolvimento Integrado). A edição comunitária está disponível gratuitamente, embora você terá que obter a bênção do seu departamento de TI para instalar isso.
nó.js pode utilizar o JavaScript ou a linguagem de escrita da Microsoft para criar add-ins para o seu escritório, mas para tanto terá de instalar esta estrutura de ficheiros para lhe permitir criar os seus programas.
gerador Yeoman isto é um pouco como um assistente, permitindo-lhe criar add-ins de escritório mais facilmente.

então eu tentei fazer isso. Acabei por ter de executar um programa da minha linha de comando, que gerou resmas de mensagens antes de finalmente ser enforcado.

mesmo quando você tem o acima instalado, você ainda tem um longo caminho a percorrer, como mostra este guia de início de MicrosoftQuick. E não me faças começar a empacotar as tuas aplicações acabadas e a distribuí-las …

Reason 2 – The Language is Harder

i’ve been programming in VBA for nearly 30 years (!), e em C# e JavaScript por mais de 5. Mas eu prefiro muito a interface VB-type, e ter escrito um artigo sobre Simple-Talkto este efeito (até à data isso teve 460.000 visualizações e 2.700 comentários, principalmente críticos!).

Existem duas razões pelas quais você vai achar mais difícil programar em JavaScript do que em VBA:

  1. é menos parecido com o inglês.
  2. Você não pode gravar macros JavaScript no Excel ou Word, como você pode para VBA.

Se você é um desenvolvedor experiente, há muito para encontrar falha com o VBA, como resumido por este artigo, mas a grande maioria dos usuários do VBA nunca precisará saber quais classes, delegados e funções lambda são.

Razão 3 – JavaScript é assíncrono, mas VBA é interpretado

para simplificar:

  • Quando você diz que o VBA para fazer A e B, ele espera até que Uma é concluída antes de começar a fazer B.
  • Quando você diz JavaScript para fazer A e B, ele envia pedidos (eles são chamados de promessas), de modo que A e B podem executar em paralelo.

certamente então o método JavaScript é melhor?

porque o método JavaScript executa tarefas em paralelo, ele terminará mais rapidamente do que o equivalente VBA.

mas … tente fazer um bolo com este método. As instruções básicas são::nata em conjunto, manteiga/margarina e açúcar.misturar nos ovos.misturar com farinha e fermento em pó.coze.decorem e sirvam.

Agora imagine a versão JavaScript deste, em que todas as tarefas começam ao mesmo tempo, e não há espera de uma tarefa para terminar antes que a próxima comece. Se você tiver sorte, você terá este:

Bad cake

desculpas se esta foi a sua foto que eu tirei do Google Images. Espero que o aniversário tenha corrido bem. Realisticamente, no entanto, não vamos conseguir nada tão reconhecível como um bolo do nosso processo.

quase todas as macro que você escreve no Excel requerem que os passos ocorram em uma determinada ordem. Um algoritmo típico pode ser:

  1. Go to the last non-blank cell in a column.copia o seu valor.cole – o na cela por baixo.

para escrever este tipo de coisa em JavaScript, você vai ter que continuar verificando que uma promessa foi cumprida antes de solicitar a próxima (embora para este exemplo simples você poderia combinar as três instruções em uma única rotina).

i take about 5 times longer coding in JavaScript for websites than C#. Existem algumas razões para isso, mas o principal são bugs introduzidos quando eu estou assumindo que o processo A terminou quando na verdade ele ainda está funcionando.

portanto, a menos que você já seja um desenvolvedor de JavaScript ou TypeScript web, o meu conselho seria ignorar Office-js até que a Microsoft encerrasse o VBA, o que não vejo acontecer na próxima década.

Deixe uma resposta

O seu endereço de email não será publicado.