Durata valore di una variabile

Creare una macro - Scrivere uno script - Usare le API
Rispondi
geovign
Messaggi: 215
Iscritto il: domenica 13 gennaio 2019, 11:19
Località: Modena

Durata valore di una variabile

Messaggio da geovign »

Un saluto al forum.
All'interno di un modulo sono presenti più macro (indipendenti tra loro) alcune delle quali utilizzano dati in comune.
In pratica:
- nella sub1 determino i dati
- nella sub2 utilizzo i dati determinati in sub1
- nella sub5 utilizzo i dati determinati in sub1
Attualmente le dichiarazioni delle variabili "comuni" sono riportate nell'intestazione del modulo precedute dall'istruzione "Global" e tutto funziona regolarmente.
Analogamente, ho dati che utilizzo in diverse macro poste in moduli diversi, ma della stessa libreria. Anche in questo caso utilizzo l'istruzione Global nella dichiarazione della variabile posta nell'intestazione di ogni modulo e tutto funziona regolarmente.
Mi chiedo: esiste una alternativa, per entrambi i casi, all'utilizzo dell'istruzione Global?
Saluti
Geo
LibO 7 su LinuxMint 21
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Durata valore di una variabile

Messaggio da patel »

Non ho ben capito cosa ti disturba, ma puoi sempre passare le variabili da una sub all'altra

Codice: Seleziona tutto

sub prima
a = 2
call seconda(a)
end sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
geovign
Messaggi: 215
Iscritto il: domenica 13 gennaio 2019, 11:19
Località: Modena

Re: Durata valore di una variabile

Messaggio da geovign »

Non posso passare le variabili da una sub all'altra come nel tuo esempio,@patel.
Quello che cercavo era un modo per evitare di rendere disponibili le variabili, con memorizzazione del valore, a tutte le librerie del documento (istruzione Global), ma limitarle ad un modulo o ad una libreria.
Qualcosa di simile alle istruzioni Public o Private (anche se questa funziona solo con CompatibilityMode(True)), ma con permanenza del valore della variabile anche al termine della sub e fino ad una nuova inizializzazione.
Geo
LibO 7 su LinuxMint 21
Rispondi