Domanda Da Excel a LibreOffice passando per Python

Space

Utente junior
Original poster
26 Novembre 2025
32
0
6
2010
Ciao a tutti, vi chiedo un chiarimento perché sono confuso. Sembra che la mia azienda che fa parte della pubblica amministrazione stia pensando di pensionare Excel 2007/2010 per passare a LibreOffice o qualcosa del genere. Fatto sta che ho un paio di file con diverse macro, funzioni e userform che mi aiutano tanto nel mio lavoro e oggi ho visto che esistono delle utility per far digerire il codice Python anche alle versioni vecchie di Excel (come xlwings?): se io riuscissi a installare queste utility sul mio Excel, convertire tutto in Python un po' alla volta cercando di impararlo, al momento del passaggio che potrebbe essere tra un anno potrei prendere il codice già scritto in Python e inserirlo nel file di LibreOffice?

A proposito, le macro e le userform mi servono a manipolare dati sui fogli del file, a creare fogli, a formattare, ecc, tutto sul file che contiene le macro insomma.
 
Ultima modifica:

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
78.684
8.623
2.445
72
Napoli
Office 365
Ciao S @Space .

Incuriosito dal quesito ho rivolto a Chat GPT la domanda: "Avendo file con macro e userform di Excel qual è la strada meno complessa per trasmigrarli in libre office?"

Questa, ovviamente da prendere con la riserva necessaria, la risposta.

Se hai già file Excel con macro VBA e UserForm, la strada meno complessa dipende da quanto sono sofisticate le macro.

Caso 1: Macro VBA semplici​

Se le macro:
  • lavorano principalmente su celle e fogli,
  • usano poche funzionalità specifiche di Excel,
  • non utilizzano UserForm complesse,
puoi aprire il file in LibreOffice Calc e verificare se le macro VBA funzionano con la compatibilità VBA di LibreOffice. Alcune funzionano con modifiche minime, altre no.

Caso 2: Presenza di UserForm​

Qui nasce la maggiore difficoltà.

Le UserForm di VBA non vengono convertite automaticamente nelle finestre di dialogo di LibreOffice. Dovrai:
  1. Ricreare le finestre usando il designer di dialoghi di LibreOffice.
  2. Riscrivere il codice associato ai controlli (pulsanti, caselle di testo, combo box, ecc.).
  3. Adattare i riferimenti agli oggetti di Excel all'API di LibreOffice.
In pratica, per progetti con molte UserForm, l'interfaccia va quasi sempre rifatta.

Quale linguaggio scegliere?​

Per una migrazione con il minimo sforzo iniziale:
  1. Mantieni LibreOffice Basic come linguaggio.
  2. Ricrea i dialoghi con gli strumenti di LibreOffice.
  3. Converti gradualmente il codice VBA in LibreOffice Basic.
Questo approccio consente di riutilizzare molta della sintassi VBA, che è abbastanza simile.

Quando conviene Python?​

Se il progetto è grande e prevedi una manutenzione a lungo termine:
  • ricrea l'interfaccia in LibreOffice,
  • riscrivi la logica in Python.
Il lavoro iniziale è maggiore, ma il risultato è più moderno e più facile da mantenere.

Stima realistica dello sforzo​

  • Macro senza UserForm: spesso 10–30% di riscrittura.
  • Macro con poche UserForm: 30–60% di riscrittura.
  • Applicazione VBA complessa con molte UserForm e controlli ActiveX: spesso conviene considerarla una vera e propria portabilità, non una conversione.
 

Space

Utente junior
Original poster
26 Novembre 2025
32
0
6
2010

Quando conviene Python?​

Se il progetto è grande e prevedi una manutenzione a lungo termine:
  • ricrea l'interfaccia in LibreOffice,
  • riscrivi la logica in Python.
Il lavoro iniziale è maggiore, ma il risultato è più moderno e più facile da mantenere.

Grazie. Il file mi servirà ancora per anni solo che non conosco niente di Python. Di VBA bene o male qualcosa so, anche se ho dovuto far ricorso al web per implementare tutto. Ho paura che Python mi porti via troppo tempo e non so cosa fare.
 

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
78.684
8.623
2.445
72
Napoli
Office 365
Mah non saprei cosa consigliarti.

Se conosci il VBA più che Python ti direi di avvicinarti al Basic di Libre Office che almeno condivide (essendo un Basic) con il VBA delle strutture di base.

Di sicuro una cosa è certa c’è da studiare.
 

Space

Utente junior
Original poster
26 Novembre 2025
32
0
6
2010
Da quello che sto capendo da una parte Basic è più simile a VBA ma è un linguaggio più ostico, dall'altra Python è un linguaggio più facile e universale. Boh, sentiamo se altri hanno qualche considerazione.
 

Terio

Excel/Vba Expert
Supermoderatore
6 Gennaio 2021
28.623
6.279
2.345
55
Arce
2016, 2019, 365
Visto che la richiesta non ha una vera e propria domanda che richiede risposte precise, sposto la discussione, sperando che ci sia qualche esperto di Libre Office che si voglia cimentare in questo argomento.

Ciao.
 

alfrimpa

VBA Expert
Supermoderatore
18 Dicembre 2015
78.684
8.623
2.445
72
Napoli
Office 365
sperando che ci sia qualche esperto di Libre Office che si voglia cimentare in questo argomento.
La vedo dura.

Anni fa qualcuno c’era qualcuno (a memoria ricordo patel @patel ) ma gli account sono stati hackerati quindi siamo stati costretti a bannarli.

Io se mi posso permettere partendo dal file di Excel e relative macro chiederei all’IA di “tradurre” tali macro in Python o in Basic di Libre Office e le testerei; può essere una buona base di partenza.

Poi certo dipende dalla complessità del progetto iniziale in Excel ma se hai un anno di tempo….. dovresti farcela.
 
Ultima modifica:
  • Like
Reactions: Terio