Come si devono gestire le macro scritte in Visual Basic for Applications (VBA) ?
Le macro sono un altro degli elementi della strategia di lock in di Microsoft, in quanto l’impossibilità di riprodurre il VBA – a causa dei numerosi brevetti che lo proteggono – impedisce agli utenti di sostituire Excel in tutti quei casi in cui sono state sviluppate procedure che usano le funzioni più avanzate del linguaggio di programmazione.
Il Basic ha cinquant’anni, e ha avuto un’evoluzione complessa, con numerosi derivati, tra cui il Visual Basic for Applications. Questo non modifica il fatto che si tratta di un linguaggio di programmazione ormai superato che trova la sua unica ragion d’essere nella strategia di lock in.
Per questo motivo, la migrazione – ovvero la riproduzione delle macro con lo StarBasic di LibreOffice, che non fa altro che “traslocare” il lock in da un sistema all’altro, ma con un set di funzionalità più limitato – viene sconsigliata, a favore di procedure realizzate con linguaggi più moderni come il Python, che permettono di sviluppare applicazioni multipiattaforma, più leggere e più facili da manutenere.
Nel caso in cui la macro VBA sia assolutamente fondamentale, e non possa essere abbandonata, è preferibile perseguire la strada della compatibilità, sviluppando le funzioni all’interno di LibreOffice. Questa cosa, ovviamente, ha un costo, quasi sempre accettabile, ma i vantaggi vengono ampiamente ripagati.
Adottando questa strategia, la città di Monaco di Baviera ha ridotto del 90% la dipendenza dal VBA, senza rinunciare a nessun tipo di funzionalità. Nel processo è addirittura riuscita a eliminare numerose macro, che erano state realizzate negli anni quando non erano disponibili alternative, e a sostituirle con altre procedure più moderne ed efficaci.