Hey Christian,
Das Makro wird innerhalb einer Datenbankanwendung(Base) ausgeführt
Genau hier liegt auch das Problem. Base selbst (das Base-Dokument) kann keine Makros speichern - die sind dann entweder global abgelegt (Dateiort "Meine Makros") oder eben innerhalb eines als Formular genutzten Writer-Dokumentes.
Dein Form-Code ist insofern nicht aussagekräftig, als der Startteil fehlt.
Wie ereichst du das Objekt "Forms" ?
Möglicherweise über den klassischen Weg :
Code: Alles auswählen
DataBaseContext = createUNOService("com.sun.star.sdb.DatabaseContext")
forms = DatabaseContext.getByName("Dateiname").DatabaseDocument.getFormDokuments()
Dann könntest du dein gewünschtes Formular weiter so erhalten:
Code: Alles auswählen
oMyForm = forms.getByName("Mein_Formular_Name")
' und das dazugehörige Dokument:
oMyFormDoc = oMyForm.getComponent()
Und jetzt hast du ein ganz normales Dokument (Writer) mit allen Eigenschaften und Methoden eines Writerdokumentes - sollte das schon geöffent sein, so hat es einen Controller und einen Frame - dann kannst du es so in Vordergrund bringen:
Ich bezweifele aber, dass du bereits ein Frame dafür hast - also musst du es wahrscheinlich zunächst ganz normale laden (über LoadURL oder eben in eine aktiven Frame einbringen

)
Na ja, so oder so ähnlich wird es funktionieren.
Gruss
Thomas