Kapitola 15 · 15.30
Soubor Excel s makry VBA: co teď?
Mnoho firem má soubory Excel (xlsm) s makry: tlačítka, která vytvoří fakturu, seřadí seznam nebo zkopírují data. Tato makra jsou napsána v jazyce VBA, programovacím jazyce Microsoft Office. Co se stane, když takový soubor otevřete ve svém WebOké Nextcloud?
Upřímná odpověď
Euro-Office nespouští makra VBA. Soubor se normálně otevře, uvidíte všechna data a vzorce, ale tlačítka a automatické akce nic nedělají. Makra v Euro-Office jsou napsána v JavaScriptu, jiném jazyce.
Co můžete udělat?
- Používat soubor pouze pro data: vyplňování, prohlížení a výpočty fungují normálně. Makra pak používejte v Excelu.
- Vytvořit makro znovu v Euro-Office: přejděte na kartu Zobrazit a klikněte na Makra. Zde vytvoříte makro v JavaScriptu, nebo ho nahrajete pomocí tlačítka Nahrát makro: Euro-Office pak zaznamená vaše kroky jako makro.
- Zjistěte, zda makro ještě potřebujete: mnoho starých maker třídí, filtruje nebo obarvuje data. To často funguje i bez makra, pomocí kontingenční tabulky, podmíněného formátování (viz Obarvení celého řádku, pokud je faktura zaplacena) nebo funkce XLOOKUP (viz XLOOKUP: vyhledávání doleva a s vlastní zprávou).

Vlastní funkce
Používali jste v Excelu ve vzorcích vlastní funkci VBA, například =DPH(A1)? V okně Makra můžete v části Vlastní funkce vytvořit vlastní funkci v JavaScriptu. Je k tomu ale potřeba znalost programování. Taková funkce funguje pouze v Euro-Office, nikoli v Excelu.
Úskalí
- Vždy si uchovejte originál. Pokud uložíte soubor xlsm v Euro-Office, kód VBA se může stát pro Excel nepoužitelným. Pokud má soubor i nadále fungovat v Excelu, upravujte kopii, nebo ho upravujte pouze v Excelu.
- Vzorce s vlastní funkcí VBA zobrazí v Euro-Office chybovou hodnotu, například #NAME?.
- Makra v souborech od jiných osob mohou provádět nežádoucí akce. Pokud soubor obsahuje automatická makra, Euro-Office se při otevření zeptá, zda je chcete spustit. Zvolte ano pouze v případě, že souboru důvěřujete.
- Potřebujete pomoc s převodem důležitého makra? Nechte to udělat někoho, kdo zná JavaScript, podpora WebOké Vám ráda pomůže zorientovat se v možnostech.
