Jaký je rozdíl mezi VBA makry a technologií Office Scripts?
V MS Excel je pro automatizaci možné použít technologii VBA/makra nebo Office Scripts.
Proč existují 2 různé technologie a jaký je mezi nimi rozdíl?
Nejjednodušší odpovědí je, že technologie VBA/makra je určena pro desktopovou verzi Excelu a Office Scripts pro online verzi MS Excel.
Odpovědět je možné i tak, že makra jsou technologií původní a Office Scripts technologií novou.
Je koncepce VBA zastaralá?
Technologie VBA byla představena už v roce 1993. Z té doby si samozřejmě nese řadu různých zastaralých konceptů. Nabízí se otázka, jestli celá tato technologie již není zastaralá a nebude brzo opuštěna. Odpověď je (pravděpodobně) negativní. V mnoha a mnoha firmách existuje velké množství vytvořených maker, které umožňují automatizaci v MS Excel. Tato makra jsou stále používaná a jejich opuštění by vedlo k velkým zásahům do existujících souborů, předělávání existujících technických řešení…
Má smysl ještě dnes učit se jazyk VBA?
Pokud potřebujete automatizovat práci v desktopové verzi MS Excel jsou makra stále vhodnou volbou. Oproti Office Scripts je možné pomocí VBA kódu ovládat všechny objekty dostupné v desktopovém excelu. Office Scripts umí jen objekty dostupné v online verzi. Office scripts neumí například pracovat s Minigrafy a řadou jiných objektů.
Ukázka:
Dalším důvodem může být fakt, že výsledný kód psaný v jazyku VBA je kratší, čitelnější…
VBA kod pro vložení hodnoty 1 do aktivní buňky:
Sub Vloz_hodnotu()
Range(„A1“) = 1
End Sub
Office Scripts pro stejnou operaci:
Pro jaké platformy je určena technologie VBA a pro jaké Office Scripts?
VBA technologie je dostupná v desktopových verzích MS Office – tedy v MS Excel, Word, Powerpoint, Outlook (starý, původní). Kódy VBA nespustíte v online verzích těchto aplikací.
Office Scripts je dostupný v online a desktop verzi MS Excel. Office Scripts není (aktuálně) dostupný v MS Word, Powerpoint atp.
Jediné prostředí, kde je tedy na výběr mezi jazykem VBA a Office Scripts je desktopová verze MS Excel!
Kdy zvolit Office Scripts?
Office Scripts je multiplatformní technologie. Není závislá na konkrétním zařízení. Obecně se uplatní při práci v cloudu, sdílení souborů… Dalším důvodem může být navázání na Power Automate. Scripty Office Scipts je možné provázat s touto technologií a např. automatizovaně spouštět – v nějaký určitý čas či spolu s jinou událostí.
Jak je to se zabezpečením obou technologií?
Při použití VBA kódů se uživatel vystavuje riziku potenciálně škodlivých kódů. Z tohoto důvodu Microsoft blokuje soubory s VBA kódy zaslané mailem. Návod, jak blokaci zrušit je zde. Pomocí VBA kódu můžeme přistupovat k dalším aplikacím na našem počítači, k celému systému.
Při použití Office Scripts je myšleno na bezpečnost a kódy mají omezenou působnost jen na sešity MS Excel.
Shrnutí:
VBA/makra | Office Scripts/TypeScript | |
použití | desktopová verze MS Office | online i desktop verze MS Excel |
šíře záběru | širší použití, bohatší objektový model | užší použití, omezený objektový model |
rok vydání | 1993 | 2019 |
bezpečnost | plný přístup k počítači, potencionální rizika | omezený přístup, vyšší bezpečnost |
integrace s Power Automate | ne | ano |