Seite 1 von 1

Makro in Writer

Verfasst: So 20. Dez 2015, 18:15
von gvk
Hallo liebe Makro-Spezialisten,
an folgenden Problem knappere ich d. Zt.
Es sollen Verträge abgespeichert werden, die als Dateinamen den Namen des Vertragnehmers tragen. Am besten wäre, dass noch im Namen auch das Datum enthalten wäre. Der Name des Vertragespartners wird per <Strg+c> übernommen und bei <Speichern unter> mit <Strg+V> eingefügt.
Das vorhandene Makro wurde schon mit dem Makrorekorder aufgezeichnet. Dabei wird natürlich der Name eines Vertragspartners fest in das Makro eingefügt, so dass bei einem Vertrag mit einem weiteren Vertragspartners der Name aus dem ersten Vertrag erscheint. Genau da liegt mein Problem. Wie sage ich es dem Makro, dass hier der Name des soeben kopierten Vertragspartners einzufügen wäre.

Hier der Bereich wo es happert.

rem ----------------------------------------------------------------------
dim args5(1) as new com.sun.star.beans.PropertyValue
args5(0).Name = "URL"
--->args5(0).Value = "file:///H:/Pfl%C3%BCger_Lager/Lagerverwaltung/Vertrag%20(O)/AA_Leer.odt"
args5(1).Name = "FilterName"
args5(1).Value = "writer8"

Ich bitte um Hilfe
gvk

Re: Makro in Writer

Verfasst: So 20. Dez 2015, 18:27
von lorbass
Fragen zur Programmierung gehören in den Bereich LibreOffice Programmierung. :roll:

Gruß
lorbass

Re: Makro in Writer

Verfasst: So 20. Dez 2015, 18:39
von gvk
Sorry,
für mich war's klar - und gehört zu Writer.
Habe meine Frage bei Programmierung untergebracht.

gvk

Re: Makro in Writer

Verfasst: Mo 21. Dez 2015, 11:03
von Makromador
Hallo gvk,

Deinen Beitrag habe ich unter Programmierung nicht finden können. Daher poste ich meinen Lösungsvorschlag hier.

Du kannst z. B. mit den Dokumenteneigenschaften arbeiten und diese auslesen oder z. B. mit Mastertextfelderrn.

Siehe hier: https://makromador.wordpress.com/zugrif ... in-writer/

Dynamisch eine Dateinamen vergeben, kann man so lösen:

Code: Alles auswählen

strURL = ConvertToURL(strURLDestination & "/" & strContractName & ".odt")
ArgsStore(0).Name = "Overwrite"				'oder jede andere Eigenschaft möglich
ArgsStore(0).Value = True						'Ein existierendes Dokument wird überschrieben.
varTemplateContract.storeAsURL(strURL, ArgsStore())
Wobei dann die Variable strContractName über ein Makro formatiert wird:

Code: Alles auswählen

strContractName =  CDateToISO(Now) & "_" & varDlg.getControl("txtExportDateiname").Text
Das könnte dann z. B. so aussehen: 20151221_NameDesVertragspartners.odt

viele Grüße

Makromador

Re: Makro in Writer

Verfasst: Mo 21. Dez 2015, 12:23
von gvk
hallo Makromador,
vielen Dank für deinen "Hilfeversuch".
Anführungszeichen deshalb - Frage:
Wo in meinem Makro muss ich dann Deine Zeilen einsetzen ?

MfG
gvk