Microsoft displace VBA în Microsoft Office, și-ar dori să scape de ea (eu nu sunt destul de sigur de ce). Acum sunt la a doua mușcătură din această cireșă (indigestibilă). Cele două mușcături sunt:

Bite Note
Visual Studio Tools for Office VSTO a fost introdus acum câțiva ani și am anunțat cu mândrie un curs în it, crezând că acest lucru va permite în cele din urmă oamenilor să dezvolte aplicații bazate pe Microsoft Office. Nu am primit o singură anchetă despre acest curs, și nu a alerga.
JavaScript pentru Office Office-JS a fost îmbunătățit treptat în ultimii ani. Marele punct de vânzare este că, în timp ce VBA funcționează numai pentru Microsoft Office pe Windows sau Mac, JavaScript va funcționa pentru versiunile de Excel care rulează pe web, pe telefon sau pe tabletă.

deci, ce nu-i place la JavaScript pentru Office? O mulțime, după cum se dovedește. Acest blog listează 3 motive foarte bune pentru a nu deranja învățarea JavaScript pentru Office decât dacă trebuie absolut.

în interesul dezvăluirii complete, pot vedea un motiv pentru care ați putea dori să învățați JavaScript pentru MS Office: este acceptat în OneNote, care nu este VBA.

motivul 1 – Set-up și cheltuieli generale de implementare

doriți să scrieți un program în Vba în Excel? Iată instrucțiunile:

  1. deschideți Excel.
  2. apăsați Alt + F11.
  3. începe codificarea.
  4. rulați macrocomenzile pentru a le testa apăsând F5.
  5. salvați registrul de lucru ca fișier activat macro.
  6. trimite – l în lume!

doriți să dezvoltați în JavaScript pentru MS Office? Iată instrucțiunile (simplificate):

De ce veți avea nevoie Note
un mediu de dezvoltare dacă sunteți Dezvoltator Microsoft, este logic să utilizați Visual Studio ca IDE (mediu de dezvoltare integrat). Ediția comunitară este disponibilă gratuit, deși va trebui să obțineți binecuvântarea departamentului IT pentru a instala acest lucru.
nod.js puteți utiliza JavaScript sau Limbajul Microsoft TypeScript pentru a crea programele de completare Office, dar pentru oricare dintre acestea va trebui să instalați acest cadru de fișiere pentru a vă permite să creați programele.
Yeoman generator acesta este un pic ca un expert, permițându-vă să creați Office add-in-uri mai ușor.

așa că am încercat să fac asta. Am ajuns să trebuiască să rulez un program din linia mea de comandă, care a generat reamuri de mesaje înainte de a atârna în cele din urmă.

chiar și atunci când ați instalat cele de mai sus, aveți încă un drum lung de parcurs, așa cum arată acest ghid de pornire microsoftquick numit greșit. Și nu mă face să încep să împachetez aplicațiile terminate și să le implementez …

Motivul 2 – Limba este mai greu

am fost de programare în VBA pentru aproape 30 de ani (!), și în C# și JavaScript pentru mai mult 5. Dar eu prefer mult interfața de tip VB, și au scris un articol pe Simplu-Talkto acest efect (până în prezent acest lucru a avut 460.000 de vizualizări și 2.700 de comentarii, cea mai mare parte critice!).

există două motive pentru care vă va fi mai greu să programați în JavaScript decât în VBA:

  1. este mai puțin ca engleza.
  2. nu puteți înregistra macrocomenzi JavaScript în Excel sau Word, așa cum puteți pentru VBA.

Dacă sunteți un dezvoltator cu experiență, există o mulțime de a găsi vina cu privire la VBA, așa cum este rezumatacest articol, dar marea majoritate a utilizatorilor VBA nu va trebui niciodată să știe ce clase, delegați și funcții lambda sunt.

Motivul 3-JavaScript este asincron, dar VBA este interpretat

pentru a simplifica:

  • când îi spui VBA să facă A și B, așteaptă până când A este completă înainte de a începe să facă B.
  • când îi spui JavaScript să facă A și B, trimite cereri (se numesc promisiuni), astfel încât A și B să poată rula ambele în paralel.

cu siguranță atunci metoda JavaScript este mai bună?

sarcini de Program

deoarece metoda JavaScript rulează sarcini în paralel, se va termina mai repede decât echivalentul VBA.

dar … încercați să faceți un tort cu această metodă. Instrucțiunile de bază sunt:

  1. cremă împreună unt / margarină și zahăr.
  2. se amestecă în ouă.
  3. se amestecă în făină și praf de copt.
  4. coace.
  5. decorați și serviți.

acum imaginați-vă Versiunea JavaScript a acestui, în care toate sarcinile încep în același timp, și nu există nici o așteptare pentru o sarcină pentru a termina înainte de a începe următoarea. Dacă aveți noroc, veți obține acest lucru:

tort rău

scuze dacă aceasta a fost fotografia pe care am luat-o de la Google Images. Sper că ziua de naștere a mers bine. În mod realist, totuși, nu vom obține nimic atât de recunoscut ca un tort din procesul nostru.

aproape fiecare macrocomandă pe care o scrieți în Excel necesită ca pașii să apară într-o anumită ordine. Un algoritm tipic ar putea fi:

  1. mergeți la ultima celulă necompletată dintr-o coloană.
  2. copiați valoarea sa.
  3. lipiți-l în celula de sub el.

pentru a scrie acest tip de lucru în JavaScript, va trebui să continuați să verificați dacă o promisiune a fost îndeplinită înainte de a solicita următoarea (deși pentru acest exemplu simplu puteți combina cele trei instrucțiuni într-o singură rutină).

eu iau aproximativ 5 ori mai mult de codificare în JavaScript pentru site-uri web decât C#. Există câteva motive pentru acest lucru, dar principalul este bug-urile introduse atunci când presupun că procesul A S-a terminat când, de fapt, încă rulează.

deci, dacă nu sunteți deja un dezvoltator web JavaScript sau TypeScript cu normă întreagă, sfatul meu ar fi să ignorați Office-js până când Microsoft va închide VBA, ceea ce nu văd că se va întâmpla în următorul deceniu.

Lasă un răspuns

Adresa ta de email nu va fi publicată.