(gelöst) Mehrere Dokumente mit einem einzigen Textfield-Makro ausfüllen?
Verfasst: So 6. Okt 2024, 10:50
Hallo,
wie schon erwähnt, benutze ich zum Befüllen von Platzhalter-Feldern in Writer aus meiner Datenbank dieses Makro:
http://www.libreoffice-forum.de/viewtop ... =10#p27919
Es hat (sehr grob) dieses Gerüst:
Jetzt möchte ich dieses Makro verwenden, um aus einem Base-Formular viele verschiedene Writer-Dokumente auszufüllen, ohne für jedes Dokument ein abgewandeltes Makro bauen zu müssen.
Dazu habe ich diesen Lösungsvorschlag von F3KTotal gefunden:
http://oooforum.de/viewtopic.php?p=2349 ... f8#p234956
Heißt: ich müßte nur für alle auszufüllenden Writer-Dokumente Knöpfe im Base-Formular einbauen, die alle dasselbe Makro aufrufen, aber mit einem individuellen "tag" versehen sind, der idealerweise den Dateinamen der auszufüllenden Writer-Dokumentvorlage enthält, z. B. "Musterdatenbank Briefvorlage.ott".
Mit diesem Code soll das gehen:
Jetzt ist die Preisfrage: Wie bekomme ich diese Tag-Abfrage so in das obere Makro, daß der String stag für die Bildung der sURL verwendet werden kann: sURL = sURL & stag ?
Wenn ich das so vor dem converttourl einfüge:
dann komme ich nicht mal bis zur msgbox, sondern erhalte "BASIC-Laufzeitfehler. Objektvariable nicht belegt."
Was ich spontan nicht verstehe, ist das (Event) hinter dem Prozedurnamen. Sowas finde ich im Handbuch nicht wörtlich, nur ähnlich als "SUB Name(oEvent AS OBJECT)".
Brauche ich das "(Event)" und wenn ja: wie genau?
Vielen Dank für Hinweise.
Freischreiber
wie schon erwähnt, benutze ich zum Befüllen von Platzhalter-Feldern in Writer aus meiner Datenbank dieses Makro:
http://www.libreoffice-forum.de/viewtop ... =10#p27919
Es hat (sehr grob) dieses Gerüst:
Code: Alles auswählen
Sub Textfield-Makro
...
sURL = sURL & "Musterdatenbank Briefvorlage.ott"
REM Vorlage öffnen
Dim args(0) as new com.sun.star.beans.PropertyValue
args(0).Name = "AsTemplate"
args(0).Value = True
newDoc = StarDesktop.loadComponentFromURL(sURL,"_blank",0,args)
...
End Sub
Dazu habe ich diesen Lösungsvorschlag von F3KTotal gefunden:
http://oooforum.de/viewtopic.php?p=2349 ... f8#p234956
Heißt: ich müßte nur für alle auszufüllenden Writer-Dokumente Knöpfe im Base-Formular einbauen, die alle dasselbe Makro aufrufen, aber mit einem individuellen "tag" versehen sind, der idealerweise den Dateinamen der auszufüllenden Writer-Dokumentvorlage enthält, z. B. "Musterdatenbank Briefvorlage.ott".
Mit diesem Code soll das gehen:
Code: Alles auswählen
Sub S_read_tag(Event)
oButton = Event.source.model
sTag = oButton.tag
msgbox stag
end sub
Wenn ich das so vor dem converttourl einfüge:
Code: Alles auswählen
' Zusatzinformation aus aufrufendem Button auslesen fürs richtige ott-Formular
oButton = Event.source.model
sTag = oButton.tag
msgbox stag
Was ich spontan nicht verstehe, ist das (Event) hinter dem Prozedurnamen. Sowas finde ich im Handbuch nicht wörtlich, nur ähnlich als "SUB Name(oEvent AS OBJECT)".
Brauche ich das "(Event)" und wenn ja: wie genau?
Vielen Dank für Hinweise.
Freischreiber