Seite 1 von 1

Writer: Makro Dateiname aus Zelle + PDF Export

Verfasst: Mo, 23.04.2012 15:53
von hylli
Hi,

ich habe hier eine Lösung gefunden, wie man per Makro den Dateinamen aus einer Zelle generiert und die Datei als Dokument speichert:

Code: Alles auswählen

Sub Speichern_als_Zellname

oDoc = thisComponent
rem Zugriff auf Tabelle1
otable=oDoc.Texttables.Tabelle1
rem Zugriff auf Zelle A1
ocell=otable.getCellbyName("A1")
rem alternativ geht auch diese Methode:
rem ocell =otable.getCellbyposition(0,0)
rem Zellinhalt auslesen
oString = ocell.String
rem in den Pfad einbauen
datei = "C:/Users/BeFu/Documents/RG/"& oString &".odt"
dateiurl = converttourl(datei)
rem speichern
rem odoc.storeAsurl(dateiurl,Array())'Ursprungsdatei wird umbenannt
odoc.storeTourl(dateiurl,Array())'Ursprungsdatei bleibt erhalten

End Sub
Was müsste ich wie ändern, damit ein PDF mit dem aus der Zelle erzeugten Dateinamen gespeichert wird?

Hylli

Re: Writer: Makro Dateiname aus Zelle + PDF Export

Verfasst: Mo, 23.04.2012 16:23
von hylli
OK, eine funktionierende Lösung gefunden:

Code: Alles auswählen

Sub Speichern_als_Zellname

Dim datei as String
oDoc = thisComponent
rem Zugriff auf Tabelle1
otable=oDoc.Texttables.Tabelle2
rem Zugriff auf Zelle A1
ocell=otable.getCellbyName("B3")
rem alternativ geht auch diese Methode:
rem ocell =otable.getCellbyposition(0,0)
rem Zellinhalt auslesen
oString = ocell.String
rem in den Pfad einbauen
datei = "file:///P:/Dokumentation/"& oString &".pdf"
rem dateiurl = converttourl(datei)
rem speichern
rem odoc.storeAsurl(dateiurl,Array())'Ursprungsdatei wird umbenannt
rem odoc.storeTourl(dateiurl,Array())'Ursprungsdatei bleibt erhalten
'URL-String für das Speichern der PDF-Datei generieren

'Speicherbefehl PDF-Datei
Dim pdfProperties(1) as new com.sun.star.beans.PropertyValue
pdfProperties(0).Name = "FilterName"
pdfProperties(0).Value = "writer_pdf_Export"
ThisComponent.storeToURL( datei, pdfProperties() )

'Messagebox aufrufen   
msgbox    datei

End Sub
Ist eine Mischung aus bereits verlinktem Makro + diesem hier:
viewtopic.php?p=139411#p139411

Falls es da Verbesserungspotenzial geben sollte, wäre ich natürlich für Vorschläge offen und dankbar.

Hylli