Jednak jsem se nikdy nesetkal s argumentací, která by zavrhovala VBA kvůli makrovirům. Osobně jsem se s makrovirem setkal. Detaily jsi úplně nepamatuji, ale myslím, že makrovir byl distribuován pomocí knihovny Scripting.FileSystemObject a nadělal slušnou paseku. Každá společnost by měla zvážit zda globálně povolit všechna marka. Stejně jako Excel doporučuji zvolit o úroveň větší zabezpečení.
Při řadě školení měla většina uživatelů zájem o makra a někteří se s nimi setkali přes záznamník maker. A tady se postupně dostávám k problému, který vidím jako jeden ze dvou hlavních důvodů proč se VBA vyhýbá např. management.
1) Tím, že mnohá řešení vznikla způsobem, že např. datový analytici pracující s nativními nástroji excelu si postupně začali vypomáhat makry, potažmo něčím, co se už dá nazývat pokusy o programování pomocí VBA. Toto rádoby programování bez zkušeností většinou vyplodilo rozvláčný, těžko čitelný a nepřehledný kód - velmi nákladný na údržbu, a to zejména v případě, kdy se z menších řešení stávají časem robustnější. Paradoxně tak flexibilita a přívětivost k uživatelům mohla zapříčinit, že management s těmito nebo podobnými zkušenostmi hledá jiné cesty.
Umím si představit např. situaci, kdy již zmiňovaní datový analytici, kteří využívají k práci MS Excel a jeho nativní nástroje si chtějí svojí práci ulehčit automatizací. Z pohledu managementu bych měl obavy, že po jejich odchodu budu muset místo "běžných excelistů" začít hledat programátory VBA.
Myslím si tedy, že odklon od VBA je dán neblahými zkušenostmi s neprofesionálními řešeními, kterých je podle mě většina.
2) (Ne)podpora VB6/VBA ze strany Microsoftu je už mnoho let zřejmá. Důvodem proč je VBE pořád součástí (nejen) excelu je, že po světě kolují milióny, ne-li desítky/stovky miliónů řešení, které využívají VBA.
Pro ty kteří chtějí programovat v rámci MS kancelářských aplikací existují jiné a v mnoha případech lepší možnosti než VBA. Jako příklad uvedu dvě základní:
1) Vytvoření tlb souboru pomocí Visual studia.
Můžete si vytvořit objektovou vrstvu (metody, vlastnosti) a využít k tomu jmenné prostory .net frameworku a z VBA je jen volat. Máte tak mnohem větší možnosti s využitím nejmodernějších technologií se všemi výhodami.
2) Vytvoření doplňků pomocí Visual studia
Tady vám bohužel nestačí free edice, ale musíte si sáhnout pro community edici nebo poměrně drahé plnohodnotné edice. V rámci Visual Studio Tools for the Office System máte (možná) plnohodnotnou alternativu k VBA se všemi výhodami nových technologií o kterých se myslím nemusím rozepisovat.citovat