Hallo zusammen,
ich beschäftige mich erst seit kurzem mit der Makroprogrammierung.
Ich habe ein Writer-Dokument, welches einige Felder aus einer Datenbank verwendet (Adressdaten,... die aus einer mysql kommen und über eine base-Abfrage abgerufen werden. Im Writer Dokument wird dann über F4 der Datensatz gewählt und die Inhalte eingefügt.
Nun zu meinen Fragen:
- Wie kann ich in einem Basic-Makro auf den Inhalt eines solchen Feldes zugreifen? Ziel ist es, die Schritte bis zur endgültigen Dateiablage zu automatisieren und anhand eines Feldes kann ich Namen, Pfad usw herleiten. Das Zerlegen des Strings und das Speichern tut, aber leider nicht die Abfrage des Feldinhaltes.
- Wenn das Makro komplett tut - wie kann ich es am besten an andere User verteilen? In der Dokumentvorlage einbauen?
- Wie kann man den Makroaufruf beschleunigen? Buttons im Dokument wären möglich, wenn diese nicht im Ausdruck + pdf erscheinen
VG
Christian
Writer: In Makro Inhalt von Datenbankfeldern verwenden
Moderator: Moderatoren
Re: Writer: In Makro Inhalt von Datenbankfeldern verwenden
siehe Kapitel 14.10.1 in:Wie kann ich in einem Basic-Makro auf den Inhalt eines solchen Feldes zugreifen?
https://www.uni-due.de/~abi070/ooo.html
z.B.:
Code: Alles auswählen
Sub DB_fields()
oMasters = ThisComponent.getTextFieldMasters()
oMasterNames = oMasters.getElementNames()
For i = LBound(oMasterNames) to UBound(oMasterNames)
If Left(oMasterNames(i), 38) = "com.sun.star.text.fieldmaster.DataBase" Then
tmp = oMasters.getByName(oMasterNames(i))
MsgBox tmp.DependentTextFields(0).Content
End If
Next i
End Sub
Das kommt wohl auf die genauen Rahmenbedingungen an, z.B. ist eine Dokumentvorlage ausreichend um mal eben so ein Makro zu verteilen, aber lässt z.B. kein Updaten der Makros zu. z.B. wäre ein Extension auch besser wenn die Dokumentvorlage automatisch in die Vorlagenveraltung eingebaut werden soll um später die Vorlagenhirarchie für Aktualisierung von auf dieser Vorlage aufbauenden Dokumenten zu nutzen. Das sind jetzt nur ein paar dürre Beispiele.Wenn das Makro komplett tut - wie kann ich es am besten an andere User verteilen? In der Dokumentvorlage einbauen?
Generell könnte man vielleicht formulieren das eine Extension für komplexere Anwendungsfälle richtig bis nötig ist und ein Dokumentmakro eher für einfachere Dinge.
Naja, dann nimm einen Button und stelle ein das der nicht gedruckt wird: Kontextmenü des Buttons, dort "Kontrollfeld..." im erscheinenden Dialog Register "Allgemein" und "Druckbar" auf "Nein" setzen. Das gilt dann auch fürs PDF.Wie kann man den Makroaufruf beschleunigen? Buttons im Dokument wären möglich, wenn diese nicht im Ausdruck + pdf erscheinen
Gruß
Stephan
Re: Writer: In Makro Inhalt von Datenbankfeldern verwenden
Hallo stephan
vielen Dank für die schnelle Antwort und den Link in der Doku. Werde es gleich testen
Vg
Christian
vielen Dank für die schnelle Antwort und den Link in der Doku. Werde es gleich testen
Vg
Christian