Kapitel 15 · 15.30
En Excel-fil med VBA-makroer: hvad nu?
Mange virksomheder har Excel-filer (xlsm) med makroer: knapper der laver en faktura, sorterer en liste eller kopierer data. Disse makroer er skrevet i VBA, Microsoft Office's programmeringssprog. Hvad sker der, når du åbner sådan en fil i din WebOké Nextcloud?
Det ærlige svar
Euro-Office kører ikke VBA-makroer. Filen åbner bare, du kan se alle data og formler, men knapperne og de automatiske handlinger gør ingenting. Makroer i Euro-Office er skrevet i JavaScript, et andet sprog.
Hvad kan du gøre?
- Brug filen kun til dataene: udfyldning, visning og beregning fungerer uden problemer. Brug i så fald makroerne i Excel.
- Lav makroen igen i Euro-Office: gå til fanen Visning og klik på Makroer. Her kan du lave en makro i JavaScript, eller du kan optage den med Optag makro: Euro-Office registrerer så dine handlinger som en makro.
- Overvej om du stadig har brug for makroen: mange gamle makroer sorterer, filtrerer eller farvelægger. Det kan ofte også klares uden en makro, med en pivottabel, betinget formatering (se Farv hele rækken, når fakturaen er betalt) eller XOPSLAG (se XOPSLAG: opslag til venstre og med egen besked).

En egen funktion
Brugte du i Excel en brugerdefineret VBA-funktion i formler, f.eks. =MOMS(A1)? I vinduet Makroer kan du under Brugerdefinerede funktioner lave en brugerdefineret funktion i JavaScript. Det kræver dog programmeringskendskab. Sådan en funktion virker kun i Euro-Office, ikke i Excel.
Faldgruber
- Gem altid originalen. Hvis du gemmer en xlsm-fil i Euro-Office, kan VBA-koden blive ubrugelig for Excel. Skal filen stadig fungere i Excel, så arbejd på en kopi, eller rediger den kun i Excel.
- Formler med en brugerdefineret VBA-funktion giver i Euro-Office en fejlværdi som #NAME?.
- Makroer i filer fra andre kan gøre uønskede ting. Indeholder en fil automatiske makroer, spørger Euro-Office ved åbning, om du vil køre dem. Vælg kun ja, hvis du har tillid til filen.
- Har du brug for hjælp til at konvertere en vigtig makro? Lad en der kender JavaScript gøre det. WebOké support hjælper dig gerne videre med mulighederne.
