[Risolto] Elenco di tutte le macro nel file

Creare una macro - Scrivere uno script - Usare le API
Rispondi
chimico
Messaggi: 97
Iscritto il: giovedì 22 novembre 2018, 15:20

[Risolto] Elenco di tutte le macro nel file

Messaggio da chimico »

Saluti ,

So che è possibile elencare facilmente tutti i file esistenti da una cartella di directory, questo già lo so è possibile .

ora chiedi se è anche possibile elencare tutti i macro esistenti in VBProject da un file.ods .

per esempio ho il file1.ods e voglio un elenco completo di tutte le macro in questo file, come ad esempio :

Codice: Seleziona tutto

macro 1
macro 2
macro 3
.......
.......
macro 37
.......
.......
macro N
osservazioni:

> Non ho bisogno dell'indirizzo macro, perché ho già un codice perfetto che fa questo compito, ho solo bisogno dell'elenco di tutte le macro nel file.ods .

> Se è possibile elencare in ordine alfabetico, è molto buono, se non è possibile, sono già soddisfatto dell'elenco completo .

> l'Elenco macros può essere inserito in un file di foglio di calcolo, il mio file ha più di 100 macros .


abbracci amici .
Ultima modifica di chimico il lunedì 4 febbraio 2019, 21:46, modificato 1 volta in totale.
LibreOffice 5.4.4.2 no Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Elenco di tutte le macro nel file

Messaggio da patel »

prova questa ricavata da quella di Hubert

Codice: Seleziona tutto

sub Macrolist()
    doc = thiscomponent
    sh = doc.Sheets(0) ' <<< scegli il foglio che preferisci
    scriptprovider = createUnoService("com.sun.star.script.provider.ScriptProviderForBasic")
    scriptprovider.initialize(array(doc))
    libraries = scriptprovider.ChildNodes
    r=0
    for each library in libraries
        if library.hasChildNodes() then
            modules = library.ChildNodes
            for each module in modules
                if module.hasChildNodes() then
                    macros = module.ChildNodes
                    for each macro in macros
                        sh.GetCellByPosition(0,r).String = macro.Name
                        r=r+1
                    next macro
                end if
            next module
        end if
    next library
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
chimico
Messaggi: 97
Iscritto il: giovedì 22 novembre 2018, 15:20

Re: Elenco di tutte le macro nel file

Messaggio da chimico »

[Risolto]

sr. patel,

La tua macro sembra fantastica, grazie . :bravo: :bravo:

L'elenco delle macro è perfetto . :super: :super:


abbraccia il mio amico . :)
LibreOffice 5.4.4.2 no Windows 7
Rispondi