Errore in macro con formulario libre base

libreoffice ver 6.4.6.2
questo codice, copiato da
apache open office wiki

Dim Doc As Object
Dim Form As Object
Dim Ctl As Object
 
Doc = StarDesktop.CurrentComponent
Form = Doc.DrawPage.Forms.GetByIndex(0)
Ctl = Form.getByName("MyListBox")

va in errore per questo motivo

errore di runtime BASIC
proprietà o metodo non trovato: DrawPage

a me serve imparare a governare gli elementi di un formulario di libre base con le macro

grazie per aiutarmi

Prova queste modifiche:

Dim Form As Object
Dim Ctl As Object

Form = thisComponent.drawpage.forms.getByIndex(0)
Ctl = Form.getByName("MyListBox")

Se la mia riposta ti ha aiutato, votala con :heavy_check_mark: (qui a sinistra)

Ma forse l'errore è generato eseguendo la macro dal modulo della stessa, lo devi eseguire dal formulario tramite un evento.

Grazie :slight_smile: … Funzionano entrambi i metodi

A chi di interesse, per leggere o assegnare valori al controllo le istruzioni sono:

leggere

contenuto=ctl.text

assegnare

ctl.text=contenuto