Wie kann ich in einem Basic-Makro auf den Inhalt eines solchen Feldes zugreifen?
siehe Kapitel 14.10.1 in:
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
Wenn das Makro komplett tut - wie kann ich es am besten an andere User verteilen? In der Dokumentvorlage einbauen?
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.
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.
Wie kann man den Makroaufruf beschleunigen? Buttons im Dokument wären möglich, wenn diese nicht im Ausdruck + pdf erscheinen
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.
Gruß
Stephan
[quote]Wie kann ich in einem Basic-Makro auf den Inhalt eines solchen Feldes zugreifen?
[/quote]
siehe Kapitel 14.10.1 in:
https://www.uni-due.de/~abi070/ooo.html
z.B.:
[code]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
[/code]
[quote]Wenn das Makro komplett tut - wie kann ich es am besten an andere User verteilen? In der Dokumentvorlage einbauen?
[/quote]
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.
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.
[quote]Wie kann man den Makroaufruf beschleunigen? Buttons im Dokument wären möglich, wenn diese nicht im Ausdruck + pdf erscheinen
[/quote]
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.
Gruß
Stephan