Hallo zusammen,
nachdem meine Suche im Forum und das Abändern eines aufgezeichneten Makros ohne Erfolg blieb hoffe ich nun, dass mir hier jemand helfen kann.
Ich habe eine OpenOfficeCalc Datei mit verschiedenen Registern. Ich möchte nun per Makro das aktuell ausgewählte Register (ein Druckbereich ist bereits festgelegt) als PDF in einem festen Ordner ablegen mit einem variablen Namen, welchee in eine festen Zelle des ausgewählten Registers steht.
Mit folgendem aufgezeichneten Makro habe ich habe 1 Seite PDF angelegt. Beim Ausführen wird aber die koplette Datei abgelegt. Den variablen Namen bekomme ich gar nicht hin. Das aufgeführte Makro legt alle in der Calc-Datei enthaltenen Regsiter als PDF mit festem Namen ab. Hat hier jemand Hilfe?
Wenn es wichtig ist, ich arbeite mit MAC.
VIele Grüße
Sonja
sub PDF_Mailen
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///Users/sonja/Documents/Mailen/TEST.pdf"
args1(1).Name = "FilterName"
args1(1).Value = "calc_pdf_Export"
args1(2).Name = "FilterData"
args1(2).Value = Array(Array("UseLosslessCompression",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array
.... HIER FOLGT NUN EIN ENDLOS LANGER TEXT....VERMUTLICH LIEGT AUCH DA EIN PROBLEM DRIN
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args1())
end sub
BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗
1 Seite PDF und Name aus Zelle
Re: 1 Seite PDF und Name aus Zelle
Hallo,
ob es beim Mac noch Besonderheiten gibt, kann ich nicht beurteilen.
Folgendes Makro sollte die Aufgabe erfüllen:
Der Dateiname wird aus einer Zelle (hier A1) ausgelesen. Für den Fall, dass die Endung .pdf fehlt, wird sie ergänzt. Dann wird der Druckbereich des aktuellen Tabellenblattes als pdf abgespeichert.
ob es beim Mac noch Besonderheiten gibt, kann ich nicht beurteilen.
Folgendes Makro sollte die Aufgabe erfüllen:
Code: Alles auswählen
Sub pdf_export
'Zugriff auf das Dokument
odoc=ThisComponent
'Zugriff auf die aktuelle Tabelle
otab=odoc.CurrentController.ActiveSheet
'Auslesen der Zelle: hier A1
sName=otab.getCellRangeByName("A1").string
if left(sName,4)<>".pdf" then sName=sName & ".pdf"
'Auslesen des Druckbereichs
obereiche = odoc.createInstance("com.sun.star.sheet.SheetCellRanges")
for i=0 to ubound(otab.printareas)
obereiche.addRangeAddress(otab.printareas(i), 0)
next
Dim arg(2) as new com.sun.star.beans.PropertyValue
arg(0).Name = "URL"
arg(0).Value = converttourl("file:///Users/sonja/Documents/Mailen/" & sName)
arg(1).Name = "FilterName"
arg(1).Value = "calc_pdf_Export"
dim aFilterData(0) as new com.sun.star.beans.PropertyValue
aFilterData(0).Name = "Selection"
aFilterData(0).Value = obereiche
arg(2).Name = "FilterData"
arg(2).Value = aFilterData()
msgbox arg(0).value
'Exportieren als pdf
odoc.storetoUrl(arg(0).value,arg())
end sub
Gruß,
mikele
mikele
Re: 1 Seite PDF und Name aus Zelle
Moin Mikele,
es klappt hervorragend. Genau das was ich gesucht habe.
Vielen Dank
Sonja
es klappt hervorragend. Genau das was ich gesucht habe.
Vielen Dank
Sonja