V prosinci jsem psal o rozhodnutí společnosti Microsoft ukončit podporu pro Visual Basic for Applications (VBA) z příští verze Office. Měl jsem a stále mám mnoho obav ohledně přepínače. Největší obavou je, že tato změna znamená konec skutečné multiplatformní integrace mezi verzemi Office pro Windows a OS X. Uživatelé Windows stále mají Visual Basic, ale pokud od některého z nich obdržíte dokument Word nebo Excel s povolenými makry, nebudou makra ve verzi Office pro Mac fungovat. Stále si myslím, že toto rozhodnutí bylo zásadně chybné a že to nevěstí nic dobrého pro budoucnost verze Office pro Mac. To samozřejmě ukáže až čas, protože produkt ještě není ani venku.
Další obavou, kterou jsem vyjádřil, byla obtížnost při psaní skriptů AppleScript pro Office 2008 oproti snadnému vytváření jednoduchých maker ve Wordu a Excelu pomocí dnešní položky nabídky Záznam makra. V prosinci jsem napsal:
Nevím jak vám, ale výběr Nástroje -> Makro -> Zaznamenat nové makro mi určitě přijde mnohem jednodušší než učit se nový programovací jazyk – nechci být programátor, chci jen psát a používat jednoduchá makra projekty!
Zatímco v otázce podpory mezi platformami se nic nezměnilo, na frontě AppleScriptingu to trochu vypadá. Neil Ticktin, vydavatel MacTECH, byl tak laskav a poslal mi návrh více než 150stránkové příručky VBA na AppleScript, kterou bude MacTECH spouštět ve vydání z dubna 2007. Tato příručka je rozdělena do šesti hlavních sekcí – AppleScript obecně, AppleScript v Office obecně a pak specifické sekce pro každou ze čtyř aplikací Office. Za zvláštní zmínku stojí kapitola o Entourage, která je skutečně o používání AppleScriptu v Entourage, protože nikdy neměl podporu VBA.
Takže i když se možná ještě budu muset naučit nový programovací jazyk, MacTECH poskytuje zdroj, aby byl tento přechod co nejjednodušší. Více o průvodci si můžete přečíst v tento zápis na webu MacTECH. (Pokud chcete ušetřit nějaké peníze, věnujte pozornost tomu, jak tento speciální průvodce sponzoruje obchodní jednotka Macintosh společnosti Microsoft. můžete si jej vyzvednout za triviální částku peněz, pokud se kvalifikujete a předplatíte do 31. března.)
Ještě jsem neměl čas přečíst si celou příručku, ale zdá se, že je to vynikající zdroj pro každého, kdo uvažuje o přechodu z VBA na AppleScript. Existují doslova stovky příkladů kódu VBA, po nichž následují jejich překlady AppleScript. Chcete-li například vytvořit nový excelový list na přední straně aktuálního sešitu pomocí VBA, kód by vypadal takto:
Aktivní sešit. Pracovní listy. Přidat před:=1, Počet:=1
Průvodce MacTECH VBA to AppleScript představuje alternativu AppleScript:
vytvořit nový list na začátku aktivního sešitu
Průvodce pokračuje tímto stylem, vysvětluje každý překlad a zároveň poukazuje na možné „problémy“ při přechodu z VBA na AppleScript, jako je tento:
…v AppleScriptu neexistuje žádná výchozí hodnota 0 pro inkrementální proměnnou, jako ve VBA: proměnná není definována. Pokud napíšetenastavte i na i + 1
bez prvního nastaveníi
na0
, dojde k chybě skriptu.
Příklady jsou samozřejmě složitější a demonstrují věci, jako je vytváření nových grafů v Excelu, export kontaktů Entourage do Excelu, nastavení stránky a tisk, odstranění všech prázdných řádků v tabulce aplikace Word a mnoho dalších. Pokud jste zkušeným uživatelem jazyka VBA ve verzi Office pro Mac, zdá se, že průvodce MacTECH je skvělým způsobem, jak se rychle seznámit s přechodem na řešení založená na AppleScriptu v Office 2008.
Pro mě však stále existuje větší otázka: bude nějaká výhoda z práce potřebné k převodu mé knihovny maker VBA na AppleScript? Vzhledem k tomu, že Office 2008 se začne dodávat až později v tomto roce, na tuto otázku zatím nedokážu odpovědět. I když však s projektem převodu nepokročím, tuto příručku využiji, když budu chtít vytvořit řešení maker v nové verzi Office.