[Risolto] Cancellare una macro abbinata ad un evento

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
ferro0099
Messaggi: 72
Iscritto il: giovedì 28 ottobre 2021, 18:44

[Risolto] Cancellare una macro abbinata ad un evento

Messaggio da ferro0099 »

Salve a tutti , chiedo aiuto , mi servirebbe una "dritta" per ..........
Ho una Macro abbinata ad unevento in un foglio che all'apertura di open office , appena sposto il cursore su una cella , mi visualizza la data e l'ora corrente ( quella del PC) su un'altra cella "x"

Alla chiusura del file che avviene con un'altra macro abbinata ad un pulsante la quale mi salva il foglio di lavoro in una cartella c://............ vorrei che disabilitare la macro abbinata all'evento foglio in modo che quando riapro il file salvato precedentemente non mi cambiasse la data.........ogni aiuto e ben accetto , grazie
Ultima modifica di ferro0099 il giovedì 23 dicembre 2021, 14:10, modificato 2 volte in totale.
Windows 10 - Open Office 4.1.1
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Cancellare una macro abbinata ad un evento

Messaggio da patel »

allega il file
-------------------
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
ferro0099
Messaggi: 72
Iscritto il: giovedì 28 ottobre 2021, 18:44

Re: Cancellare una macro abbinata ad un evento

Messaggio da ferro0099 »

Grazie Patel per l'interessamento , ti metto la cartella compressa

Il file che devi aprire inizialmente è il primo che vedi "lottti", nella cartella ci saranno in ordine per data gli altri creati , se li riapri e cambi qualcosa cambia la data , io vorrei che se li riapro e li modifico la data non cambiasse , la macro che lavora sulla data e sul numero crescente è abbinata al 1 foglio come evento
Allegati
per open.rar
(49.99 KiB) Scaricato 82 volte
Windows 10 - Open Office 4.1.1
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Cancellare una macro abbinata ad un evento

Messaggio da Gaetanopr »

Non ho scaricato il file, ma invece di cancellare la macro a chiusura file potresti fare in modo diverso, ad esempio la macro che scrive data e ora sulla cella x potrebbe fare una verifica su tale cella, cioè verificare che sia vuota e scrivere la data se già presente una data non fare nulla, in questo modo la data sarà scritta solo la prima volta e non alle riaperture del file
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Cancellare una macro abbinata ad un evento

Messaggio da Gaetanopr »

ferro0099 ha scritto:........... vorrei che disabilitare la macro abbinata all'evento foglio in modo che quando riapro il file salvato precedentemente non mi cambiasse la data.........ogni aiuto e ben accetto , grazie
Se invece vuoi disabilitare l'evento questo è il codice che devi inserire per togliere l'evento al foglio Scheda Cliente

Codice: Seleziona tutto

thiscomponent.sheets.getByName("Scheda Cliente").Events.replaceByName("OnChange", "")
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
ferro0099
Messaggi: 72
Iscritto il: giovedì 28 ottobre 2021, 18:44

Re: Cancellare una macro abbinata ad un evento

Messaggio da ferro0099 »

Gaetanopr ha scritto:Non ho scaricato il file, ma invece di cancellare la macro a chiusura file potresti fare in modo diverso, ad esempio la macro che scrive data e ora sulla cella x potrebbe fare una verifica su tale cella, cioè verificare che sia vuota e scrivere la data se già presente una data non fare nulla, in questo modo la data sarà scritta solo la prima volta e non alle riaperture del file
Ma quanto ne sai !?!!??.....funziona alla grande , grazie
Windows 10 - Open Office 4.1.1
ferro0099
Messaggi: 72
Iscritto il: giovedì 28 ottobre 2021, 18:44

Re: Cancellare una macro abbinata ad un evento

Messaggio da ferro0099 »

funziona a metà , perchè quando salvo , la macro abbinata al evento foglio viene cancellata

inserendo come consigliato "thiscomponent.sheets.getByName("Scheda Cliente").Events.replaceByName("OnChange", "")"
Windows 10 - Open Office 4.1.1
ferro0099
Messaggi: 72
Iscritto il: giovedì 28 ottobre 2021, 18:44

Re: Cancellare una macro abbinata ad un evento

Messaggio da ferro0099 »

Nessuno riesce a darmi un'aiuto
Windows 10 - Open Office 4.1.1
geovign
Messaggi: 217
Iscritto il: domenica 13 gennaio 2019, 11:19
Località: Modena

Re: Cancellare una macro abbinata ad un evento

Messaggio da geovign »

Prova così:
1) prima del salvataggio della copia inserisci la riga indicata da @Gaetanopr

Codice: Seleziona tutto

rem rimuovo la macro associata all'evento foglio/contenuto modificato
ThisComponent.Sheets.getByName("Scheda Cliente").Events.replaceByName("OnChange", "")"
che rimuove l'associazione all'evento foglio/contenuto modificato
2) terminato il salvataggio inserisci le seguenti righe

Codice: Seleziona tutto

rem ripristino l'associazione della macro all'evento foglio/contenuto modificato
  'ATTENZIONE: LE PROPRIETÀ DELL'EVENTO (LE 5 RIGHE SUCCESSIVE IL COMMENTO) SONO VALIDE SOLAMENTE SE
  'LA MACRO DA ASSOCIARE SI CHIAMA InsData E RISIEDE NEL FILE, LIBRERIA Standard, MODULO InsData
Dim EventProps(1) as new com.sun.star.beans.PropertyValue
EventProps(0).Name = "EventType"
EventProps(0).Value = "Script"
EventProps(1).Name = "Script"
EventProps(1).Value = "vnd.sun.star.script:Standard.InsData.InsData?language=Basic&location=document"
ThisComponent.Sheets.getByName("Scheda Cliente").Events.replaceByName("OnChange",EventProps())
che ripristina l'associazione prima cancellata.
Come scritto nei commenti, le condizioni per il corretto funzionamento sono:
a) la/le macro devono essere salvate nel documento
b) la macro da associare all'evento si deve chiamare InsData
c) la macro da associare all'evento deve risiedere nella libreria Standard e nel modulo InsData
Saluti
Geo
LibO 7 su LinuxMint 21
ferro0099
Messaggi: 72
Iscritto il: giovedì 28 ottobre 2021, 18:44

Re: Cancellare una macro abbinata ad un evento

Messaggio da ferro0099 »

Grazie , e buone festività funziona !!!
Windows 10 - Open Office 4.1.1
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Cancellare una macro abbinata ad un evento

Messaggio da charlie »

Sistema corretto per aggiungere [Risolto] viewtopic.php?f=2&t=5661
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi