Programové vylepšení v Office 2010
Pokud jste ještě nečetli článek od Danny Khen na oficiálním blogu o Microsoft Excel 2010, doporučuji si jej přečíst. Osobně ho shledávám jako zatím nejlepší shrnutí novinek pro VBA vývojáře v Excelu 2010 který sem doposud viděl. Pokusím se co nejlépe shrnout veškeré informace které Danny sepsal. A je to opravdu zajímavé
V článku je jen tak mimochodem zmíněno, že Office 2010 dostal do vínku novou verzi jazyka VBA a to verzi 7.0. Za chvíli se dozvíte co stálo za touto změnou.
Celý článek na blogu Microsoft Excel 2010 pokrývá následující novinky
- Přenesení Excel 4 maker (XLM) do jazyka VBA
- Vylepšení makro záznamníku pro grafy a tvary
- 64-bitová podpora pro VBA
- Asynchroní volání UDF
- Možnost spouštění UDF funkcí na HPC počítačích
Přenesení Excel 4 maker (XLM) do jazyka VBA
V Excelu 2010 nalezneme makra Excel 4 známe jako XLM převedeny do jazyka VBA. Pokud se těšíte na funkci PAGESETUP, která je v jazyku XLM daleko rychlejší než stejný přístup pomocí VBA, budete překvapení. Microsoft se rozhodl vylepšit tuto funkci přímo ve VBA. Bohužel nemám možnost ověřit nově přidané funkce, jelikož nápověda pro VBA Office 2010 na mém Office 2010 Beta není kompletní.
Vylepšení makro záznamníku pro grafy a tvary
Pokud jste byli zvykli pracovat s makro záznamníkem ve verzích do Excelu 2007 a poté jste vyzkoušeli makro záznamník v Office 2007 asi jste byli hodně zklamání s (ne)zaznamenaným kódem pro grafy a tvary. V Office 2010 budete opět spokojeni. Nahrávání kódu pro grafy a tvary už funguje celkem dobře až na malé vyjímky. (Danny zmiňuje nefunkčnost pro osy grafu)
64-bitová podpora pro VBA
Jak víte Office 2010 se bude nabízet ve dvou verzích. V klasické 32-bitové a v nové 64-bitové. Abyste mohli využít veškerých výhod 64 bitových Office ve svých kódech, musíte Váš kód přizpůsobit;
ActiveX prvky - musí být převedeny do 64 bitové verze.
COM doplňky - musí být překompilovány do 64 bitové verze
XLL doplňky - musí být překompilovány do 64 bitové verze
VBA - kód připojený k sešitu bude překompilován, když bude sešit otevřen v 32 nebo 64 bitové verzi. Ovšem některé části kódu musí být přepsány. Zejména se jedná o API funkce a deklarace proměnných.
Doplňující informace můžete nalézt zde:
Excel 2010 – Now With More Bits!
Compatibility Between....
Kód si můžete zkontrolovat také pomocí VBA konverzního nástroje.
Asynchroní volání UDF
Ačkoliv Danny zmiňuje následující dva body jako nejvíce přínosné já je zařadil až na konec. Pokud totiž neholdujete XLL programování stejně jako já, tak Vám následující vylepšení moc neřekne. V předchozích verzích MS Excel se UDF funkce vždy volaly synchronně. Pokud jste měli funkci, která např. tahá data z webu a následně na nich dělá nějaké výpočty a těchto funkcí jste měli na listu 100. Excel vždy čekal až doběhne volání první funkce, poté zavolal druhou a tak až k té sté. V případě, že výpočet pro jednu funkci je 1 sekunda = 100 sekund na celou výpočetní operaci. S asynchronním voláním UDF funkcí bude všech těchto 100 volání vypočteno na jednou a tím se nám výpočetní čas zkrátí na 1 sekundu! Zní to úžasně a stačí jen když se naučíte něco málo o XLL.
Možnost spouštění UDF funkcí na HPC počítačích
Asynchronní výpočet není všelékem na všechny případy. Pokud máte v listu 100 funkcí kdy jedna je závislá na druhé a provádějí složité výpočty bude výpočetní čas stále vysoký. Řešením je použítí HPC počítačů. V nastavení Excelu máte možnost povolit použití HPC clusterů. Více se dozvíte přímo v článku od Dannyho.