Po poslednjim informacijama Microsoft će sredinom 2021. godine izdati novu verziju desktop Office aplikacije i to će najverovatnije biti poslednja takva verzija, u koliko ih korisnici ne prisile da odustanu od ideje Office 365 kao jedine opcije koju će gurati. Kada se uzme u obzir to da se Office 365 praktično iznajmljuje na nesečnom / godišnjem nivou i da je nemoguće napraviti piratsku verziju (crack) programa jer se programu pristupa putem naloga za koji se mora platiti jasno je zašto će oni sigurno insistirati na toj platformi.
Jasno mi je da je veliki plus to što se dokumentima može pristupiti i sa Windowsa, Linuxa, Androida i sl. ali mi je poprilično iritantna misao da svaki dokument koji želim da pogledam (a svi mi većinu dokumenata dobijamo iz našeg informacionog sistema) moram da prvo uplaoadujem na oblak da bih ga video na čega će se gubiti vreme.
To je jedan deo problema. Drugi deo problema je što se samim tim se iz Office paketa izbacuje VBA kao moćan alat koji smo svi do sada koristili i prelazi se na razvojne alate na bazi Java Scripta. Ok, nužno zlo. Kako sam ja ekonomista a VBA koristim u ogromnim količinama rešio sam da počnem da učim taj novi jezik i vidim da je suština poptilično slična i zaista nije težak za savladati posle osnove VBA. Malo sam programirao prethodnih dana i shvatio da tako laički kažem, da je Google Sheet implementirao taj program u svoju Google Sheet aplikaciju na isti način kako je nekada radio VBA u Excelu. U VBA smo odmah kucali Range ("A5") .values i dobijali podatak iz ćelije i isto to možemo da uradimo kod Google Sheets. Takođe kada kreiram funkciju u Google Sheets mogu da je snimim da ona bude sastavni deo kreiranog dokumenta. Kada dokument otvorim na drugoj lokaciji moja kreirana funkcija će već biti u njemu i biće funkcionalna.
Sa druge strane Microsoft je kreirao svoj razvojni alat Script Lab. On meni izgleda kao da je van Excel sistema i da je to neki pridruženi program za kodiranje ali koji nije integrisan u Excel. U njemu ne mogu direktno pristupiti Range opciji i očitati vrednost u nekoj ćeliji npr Range ("A1").values već moramo da zatražimo taj podatak pa da idemo na Load(values) pa da sinhronizujemo program sa Excelom da bi on učitao vrednosti.
range.load("values");
return context.sync()
To mi deluje kao totalna nebuloza. Isto tako ako želimo da upišemo podatke u neke ćelije mi programu damo zadatak šta želimo da se odradi i onda na kraju opet moramo da sinhronizujemo program sa Excelom i tek tada se podaci prikazuju u Excel fajlu koji obrađujemo. Pored ovoga u Excelovom Script Lab-u nisam našao način da neka funkcija postane sastavni deo Excel fajla i kada se on pokrene na drugom računaru da se sa njim pokrene i sve što smo programirali, nego mi ručno moramo da učitamo code iz oblaka i tek tada on postaje operativan.
Pored ovoga Script Lab ne može ni da učita veće tabele. Npr ako uzmem Range ("A:A"), znači želim da učitam sve vrednosti u jednoj jedinoj koloni Excela on to ne može da uradi i izbacuje greški jer ne barata sa tolikom količinom podataka.
I poslednje što mi ovako na brzaka pada na pamet je činjenica da su svi ti programi zasnovani na Java Scriptu mnogo sporiji od VBA i sve je poprilično tromo.
Da li sam ja nešto pobrkao (nisam dobro razumeo), da li oni stvarno zamišljaju da mi programiramo preko Script Lab-a ili je to samo neka prva verzija u kojoj još malo šta može da se radi a u narednom periodu postaće integrisan deo Excela kao što je to bio VBA? Koji je to razvojni alat koji bi se trebalo koristiti za programiranje u Excelu? Tu ne mislim na Visual Studio jer firme koje se ne bave programiranjem sigrno neće kupovati Visual studio za takve stvari, već će se to raditi iz nekog integrisanog alata u Office paketu.
[Ovu poruku je menjao Blue82 dana 19.12.2020. u 16:06 GMT+1]