Encyklopedie

Jaký je rozdíl mezi VBA a Office Scripts?

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:

function main(workbook: ExcelScript.Workbook) {
  let selectedSheet = workbook.getActiveWorksheet();
  selectedSheet.getRange(„A1“).setValue(1);
}

 

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

 

 

Chcete se dozvědět více?
Navštivte náš kurz Excel - Makra
Zjistit více