Seite 1 von 2
[gelöst] PDF-Dateien mit Tabellennamen
Verfasst: Di 3. Jan 2017, 21:43
von compiopa
Hallo Allerseits,
habe folgendes Problem:
Mein calc Datei hat ca. 100 Tabellen mit individuellen Namen.
Auf jeder Tabelle ist ein Druckbereich definiert.
Das jetzt als PDF auszugeben ist ja kein Problem, ergibt 1 Datei mit ca. 100 Seiten.
Das kann ich aber nicht brauchen.
Ich bräuchte eben diese ca. 100 Tabellen als einzelne PDF-Dateien, die jeweils den Namen der Tabelle haben.
Ist das mit LO machbar?
Ich hatte vor Jahren in meiner MS Zeit viel mit VBA und Excel gemacht, da hätte ich das auch locker hinbekommen. Aber die Zeiten sind lange vorbei.
Nun nutze ich zu 99% Linux und mache mit LO auch keine so komplexen Sachen mehr wie früher mit VBA.
Den ganzen "normalen" Rechen- und Darstellungskram bekomme ich in LO gebacken, das ist ja auch fast identisch, nur eben diese eine PDF-geschichte kommt immer wieder als Problem zutage.
Wäre nett wenn ihr mir weiterhelfen könntet.
Gruß compiopa

Re: PDF-Dateien mit Tabellennamen
Verfasst: Di 3. Jan 2017, 21:53
von gogo
Re: PDF-Dateien mit Tabellennamen
Verfasst: Di 3. Jan 2017, 22:02
von compiopa
Hallo gogo,
danke für deine schnelle Antwort. Genau das war der Thread, der mich veranlasst hat mich anzumelden und mein Problem zu schildern.
Ich kapier das aber leider nicht mehr. Habe mit so Programmierung schon Jahre nichts mehr zu tun. Außerdem ist das Objektmodell von LO ja komplett anders.

Ich kapier das nicht mehr und brauche es auch zu wenig, eigentlich gar nicht. Nur dieses Ausgabeproblem lässt sich vermutlich nicht ohne Programmierung lösen. Außer jede Tabell per Hand...
Gruß compiopa
Re: PDF-Dateien mit Tabellennamen
Verfasst: Di 3. Jan 2017, 22:39
von craig
Hallo,
compiopa hat geschrieben:Ich bräuchte eben diese ca. 100 Tabellen als einzelne PDF-Dateien, die jeweils den Namen der Tabelle haben.
Ist das mit LO machbar?
Befinden sich die Tabellen auf einem Tabellenblatt oder sprichst Du von 100 Tabellenblätterm (Sheets).
Wenn 100 einzelne Tabellenblätter, enthalten dieses mehrere Seiten?
Erbitte genauere Hinweise.
Re: PDF-Dateien mit Tabellennamen
Verfasst: Mi 4. Jan 2017, 00:27
von F3K Total
Hallo,
weil ich Lust dazu hatte, und etwas ähnliches schon gemacht habe. Anbei eine Datei, die genau das kann. In der Menüleiste findest du ein zusätzliches Symbol:

- TB.PNG (15.48 KiB) 4402 mal betrachtet
Einfach anklicken, Speicherordner wählen, und alle Blätter werden einzeln als PDF mit dem Namen des jeweiligen Tabellenblattes in den Speicherordner geschrieben.
Die Datei enthält Basic-Makros:
Code: Alles auswählen
Sub alle_Tabellen_einzeln_exportieren
nCounterExported = 0
if Thiscomponent.isModified then ThisComponent.store
ALL_PrintAreas = F_Get_PrintAreas
sFolderUrl = F_getfolderUrl
if sFolderUrl = false then exit sub
S_Delete_PrintAreas
nCounterExported = 0
for j = 0 to uBound(ALL_PrintAreas)
S_Store_to_PDF(j,ALL_PrintAreas(j),sFolderUrl)
nCounterExported = nCounterExported + 1
next j
msgbox (""+nCounterExported+" PDF Dateien in den Ordner "+CHR(13)+sFolderUrl+CHR(13)+"exportiert",64,"Erfolgreich")
F_Set_PrintAreas(ALL_PrintAreas)
thisComponent.Modified = false
end sub
function F_getfolderUrl
if not bLastDirectory then
oPS = createUnoService("com.sun.star.util.PathSettings")
sUSER_Work = oPS.Work
endif
MyDialog = createunoservice("com.sun.star.ui.dialogs.FolderPicker")
MyDialog.Title = "PDF - Ordner wählen"
myDialog.displaydirectory = sUSER_Work
if mydialog.execute = 0 then
F_getfolderUrl = false
else
sURL = mydialog.directory
F_getfolderUrl = ConvertfromUrl(sURL)
bLastDirectory = true
sUSER_Work = ConvertFROMUrl(sURL)
endif
end function
function F_getfileName(sSheetName)
F_getfileName = "/"+sSheetname+".pdf"
end function
Function F_Get_PrintAreas
oSheets = ThisComponent.Sheets
DIM ALL_PrintAreas(oSheets.count - 1) as Variant
for i = 0 to oSheets.count - 1
oSheet = oSheets(i)
oSheetPrintareas = oSheet.PrintAreas
ALL_PrintAreas(i) = oSheetPrintareas
next i
F_Get_PrintAreas = ALL_PrintAreas
end function
Sub S_Delete_PrintAreas
oSheets = ThisComponent.Sheets
for i = 0 to osheets.count - 1
osheet = oSheets(i)
osheet.setPrintAreas(Array())
next i
end Sub
sub S_Store_to_PDF(nSheet,aPrintAreas,S_Folder_URL)
Dim myProps(0) as New com.sun.star.beans.PropertyValue
myProps(0).Name="FilterName"
myProps(0).Value = "calc_pdf_Export"
osheets = thisComponent.Sheets(nSheet)
oSheet = osheets(nSheet)
sSheetName = oSheet.Name
sFileName = F_getfileName(sSheetName)
oSheet.setPrintAreas(aPrintAreas)
sUrl = converttoURL(S_Folder_URL & sFilename) 'Speicherpfad zusammensetzen
ThisComponent.storetoUrl(sUrl,myProps()) 'Speichern
oSheet.setPrintAreas(Array())
end sub
Sub F_Set_PrintAreas(ALL_PrintAreas)
oSheets = ThisComponent.Sheets
for i = 0 to oSheets.count - 1
oSheet = oSheets(i)
oSheet.PrintAreas = ALL_PrintAreas(i)
next i
end Sub
Damit die Makros laufen dürfen, stellst du unter Extras/Optionen/LibreOffice/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.
Nimm einfach dieses Dokument, kopiere deine Tabellenblätter hinein, überprüfe die Druckbereiche und setze sie ggf. neu. WICHTIG: Je Tabellenblatt genau einen Druckbereich! Auf Leer- und Sonderzeichen in den Tabellennamen verzichten!
Gruß R
Re: PDF-Dateien mit Tabellennamen
Verfasst: Mi 4. Jan 2017, 21:05
von compiopa
Hallo F3K Total,
Habe das Makro in meine Worksheet eingebaut.

PERFEKT!!!
Das ist genau das was ich brauche und leider nicht selbst zustande gebracht habe.
WICHTIG: Je Tabellenblatt genau einen Druckbereich!
Warum das? Habe das ausprobiert mit mehreren Druckbereichen, da hat die PDF dann eben mehrere Seiten. Oder habe ich da jetzt was überehen, was zu schwerwiegenderen Fehlern führen könnte?
Auf Leer- und Sonderzeichen in den Tabellennamen verzichten!
Das versteht sich von selbst.
Wo hast du das Icon her? Selfmade?
Besten Dank, du hast mir sehr geholfen. Habe nachgesehen, inzwischen hat mein Worksheet ca. 150 Tabellenblätter. Da jedes einzeln...
Gruß compiopa
Re: PDF-Dateien mit Tabellennamen
Verfasst: Do 5. Jan 2017, 01:01
von F3K Total
compiopa hat geschrieben:Wo hast du das Icon her? Selfmade?
Yess
Gruß R
[gelöst] Re: PDF-Dateien mit Tabellennamen
Verfasst: Do 5. Jan 2017, 15:58
von compiopa
na dann werde ich auch kreativ werden müssen.
Danke noch mal.
Gruß compiopa
Re: [gelöst] PDF-Dateien mit Tabellennamen
Verfasst: Do 5. Jan 2017, 16:41
von F3K Total
compiopa hat geschrieben:na dann werde ich auch kreativ werden müssen.
Nein, musst Du nicht, das Logo ist in meiner Datei (kann man entzippen) enthalten:

- Logo.png (12.27 KiB) 4336 mal betrachtet
Gruß R
Re: [gelöst] PDF-Dateien mit Tabellennamen
Verfasst: Fr 6. Jan 2017, 23:07
von compiopa
Hallo F3K Total,
bin ich jetzt total blind?
Ich sehe weit und breit kein ZIP-File nur ein ODS-File, geschweige denn ein sc_userimages.png
Kannst du mich erhellen
Gruß compiopa