macro che non funziona da IDE

buongiorno, ho realizzato questa macro in un foglio di Calc che richiama la Sub “trasposizione” passandogli il documento che è il documento su cui sto lavorando; questa macro trasposizione stampa il nome del foglio.
Se la eseguo dall’editor del Basic, non funziona; se invece la lancio dal calc funziona…l’errore è:
Errore di runtime BASIC. L’argomento non è opzionale. e si verifica alla riga di codice in grassetto.

Sub main

Dim Documento as object

Documento =Thiscomponent

trasposizione (Documento)

print(“passo da main”)

End sub

Sub trasposizione (doc_passato)

Dim foglio_partenza as object

Dim nome$

print (“passo da sub”)

foglio_partenza = doc_passato.Sheets(0)

nome = foglio_partenza.name

print (name)

End Sub

Grazie dell’attenzione.

Quando sei nella IDE non riesce ad interpretare quale sia l’elemento attivo Thiscomponent perché in quel momento non ti trovi nel documento.
Invece quando sei in Calc, il programma lo valuta correttamente e lo passa alla funzione senza errori.
Se vuoi che funzioni anche dalla IDE dovresti scrivere una macro un po’ più complicata con una condizione che prima di richiamare la funzione trasposizione, controlli il contenuto della variabile Documento per verificare che sia presente un elemento sul quale lavorare e nel caso contrario gliene indichi uno.

ti ringrazio; il problema però è nato solo quando ho deciso di provare, per esperimento, ad usare la sub richiamata. Se tutto scorre in una sub unica e nno richiamo altre sub, questo problema non si presenta.