Macro personale da eseguire su più file

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Giuda
Messaggi: 2
Iscritto il: mercoledì 23 giugno 2021, 10:08

Macro personale da eseguire su più file

Messaggio da Giuda »

Salve a tutti,
Ho costruito delle semplici macro per calc.
Vorrei eseguirle nei vari file *.calc che apro.
Ho capito che le macro non devono stare nei documenti ma devono stare in Macro personali/Basic/Modulo 1
Quando premo lo keystroke dedicato mi compare l'errore
>Errore dello schema di scripting durante l'esecuzione dello script Basic
>wnd.sun.star.script:standard.Modulo1.Uniscecelle
>The following basic script could not be found
>library: ecc.
>module: ecc.
>method: ecc.
>location: ecc.
Qualcuno può dirmi cortesemente dove/come mettere le macro o farmi un semplicissimo esempio con "ciao mondo"
Grazie
Openoffice 4.1.7 Win10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8956
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro personale da eseguire su più file

Messaggio da charlie »

Ciao, la collocazione in Macro personali > Standard > Module1 è corretta per eseguire le macro in file diversi.
Ma, sono macro "normali" come print "Ciao mondo" o richiamano librerie che se non vengono trovate ti danno errore?
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Giuda
Messaggi: 2
Iscritto il: mercoledì 23 giugno 2021, 10:08

Re: Macro personale da eseguire su più file

Messaggio da Giuda »

Grazie per la risposta. Sono macro semplicissime e non richiamano librerie (non sarei in grado di farlo). In Calc velocizzano alcuni comandi che si fanno col mouse in comandi da tastiera, ad es.:

>Sub Cancellacella() ' Cancella una cella e sposta il contenuto della riga a sinistra
>Selection.Delete Shift:=xlToLeft
>End Sub
Ho messo nello stesso modulo più diverse routine semplici. Ho sbagliato?

Ho provato ad aggiungere nella routine
>oDoc = ThisComponent
ma mi dà errore lo stesso.
Openoffice 4.1.7 Win10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8956
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro personale da eseguire su più file

Messaggio da charlie »

Ho provato la tua macro e non funziona nemmeno se inserita a livello file.
Non mi intendo di macro per Calc, allora ho interrogato ChatGPT (intelligenza artificiale) che mi ha dato questo codice:

Codice: Seleziona tutto

Sub CancellaCellaCorrente
    Dim oDoc As Object
    Dim oFoglio As Object
    Dim oSelezione As Object
    
    ' Ottieni il documento attivo
    oDoc = ThisComponent
    
    ' Ottieni il foglio attivo
    oFoglio = oDoc.CurrentController.ActiveSheet
    
    ' Ottieni la cella selezionata corrente
    oSelezione = oDoc.CurrentSelection
    
    ' Cancella il contenuto della cella selezionata
    oSelezione.clearContents(1023) ' 1023 cancella tutto il contenuto (valori, formule, formattazione ecc.)
End Sub

L'ho provato e mi pare funzioni.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi