Hallo liebe LO-Community,
ich habe ein Calc-Dokument mit ca. 20 Tabellenblättern.
Ich möchte gerne ein Makro erstellen, bei dem automatisch bestimmte Tabellenblätter in einen einzigen PDF Dokument zusammengeführt werden. Diese Tabellenblätter sollen nicht variabel sein. Ich habe in jedem Tabellenblatt den Druckbereich festgelegt, da der zu druckende Zellbereich bei jedem Tabellenblatt unterschiedlich ist.
Als Beispiel:
Tabellenblatt-1, Tabellenblatt-3 und Tabellenblatt-7 -> PDF-Dokument-1
Ich habe viele Makros gefunden, die ähnlich funktionieren. Diese exportieren dann aber jede Tablle als eigenes PDF-Dokument oder aber alle Tabellenblätter gleichzeitig.
Kennt ihr vielleicht ein Makro, dass man anpassen könnte?
Viele Grüße
jogabonito
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Export mehrerer Tabellenblätter in ein einzelnes PDF Dokument
-
- Beiträge: 3
- Registriert: Sa 17. Okt 2020, 09:59
Re: Export mehrerer Tabellenblätter in ein einzelnes PDF Dokument
Hallo,
Du schreibst in das Array aTabellen die Namen der gewünschten Tabellen und in der Zeile
ergänzt du den Pfad und den gewünschten Dateinamen.
Wenn in den Tabellen Druckbereiche festgelegt sind, werden diese exportiert, ansonsten die gesamte Tabelle.
Code: Alles auswählen
sub pdf_einzelne_Tabellen
odoc=thiscomponent
'Container für Mehrfachbereiche erstellen
obereiche = odoc.createInstance("com.sun.star.sheet.SheetCellRanges")
'Tabellennamen der zu exportierenden Tabellen
aTabellen=array("Tabelle1", "Tabelle2", "Tabelle3")
for i=0 to ubound(aTabellen)
oTab=odoc.sheets.getbyname(aTabellen(i))
aDruckbereiche=oTab.printareas
if ubound(aDruckbereiche)<0 then
obereiche.addRangeAddress(oTab.getRangeAddress, 0) 'ganze Tabelle
else
for k=0 to ubound(aDruckbereiche) 'Druckbereiche
obereiche.addRangeAddress(aDruckbereiche(k), 0)
next
end if
next
'der eigentliche pdf-Export
'
'Argumente festlegen
Dim arg(2) as new com.sun.star.beans.PropertyValue
arg(0).Name = "URL"
arg(0).Value = convertToUrl("pfad und dateiname.pdf")
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()
'Datei schreiben
odoc.storetoUrl(arg(0).value,arg())
end sub
Code: Alles auswählen
arg(0).Value = convertToUrl("pfad und dateiname.pdf")
Wenn in den Tabellen Druckbereiche festgelegt sind, werden diese exportiert, ansonsten die gesamte Tabelle.
Gruß,
mikele
mikele
-
- Beiträge: 3
- Registriert: Sa 17. Okt 2020, 09:59
Re: Export mehrerer Tabellenblätter in ein einzelnes PDF Dokument
Hallo mikele,
vielen Dank für dein Makro, es ist genau das, wonach ich gesucht habe. Das hat mir sehr weitergeholfen!!!
Ich habe das Makro soweit für meine Bedürfnisse anpassen können.
Leider ist bei manchen Tabellenblättern das ausgedruckte PDF anders, als der Druckbereich den ich manuell über Strg+P anstoße. Bei einem Tabellenblatt werden zum Beispiel über das Makro zwei leere weiße Seiten mitgedruckt - über den PDF-Printer sind die weißen Seiten nicht vorhanden.
Ich habe einiges ausprobiert - Seite verwalten, Layout angepasst etc., bin aber zu keinem schlüssigen Ergebnis gekommen. Meine Seiten haben alle dieselbe Layoutvorlage.
VG
jogabonito
vielen Dank für dein Makro, es ist genau das, wonach ich gesucht habe. Das hat mir sehr weitergeholfen!!!
Ich habe das Makro soweit für meine Bedürfnisse anpassen können.
Leider ist bei manchen Tabellenblättern das ausgedruckte PDF anders, als der Druckbereich den ich manuell über Strg+P anstoße. Bei einem Tabellenblatt werden zum Beispiel über das Makro zwei leere weiße Seiten mitgedruckt - über den PDF-Printer sind die weißen Seiten nicht vorhanden.
Ich habe einiges ausprobiert - Seite verwalten, Layout angepasst etc., bin aber zu keinem schlüssigen Ergebnis gekommen. Meine Seiten haben alle dieselbe Layoutvorlage.
VG
jogabonito
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.