LibreOffice calc Makro editor - Code nicht sichtbar
Verfasst: Do 9. Apr 2026, 13:59
Guten Tag,
ich benutze die Version 25.8.5.2 und ich wollte ein Makro eingeben, welches mit mehrere Tabellenblätter in eine einzige PDF-Datei exportiert. Habe die Makro im Internet gefunden und habe diese im Editor eingegeben.
Leider musste ich feststellen, dass ich den Code nicht sehe. ICh sehe lediglich den Courser blinken und sosnt gar nix.
Habe eine Lösung im Internet gesucht, aber keine dieser hat funktioniert.
Was muss ich tun, damit ich folgenden Code im Makroeditor sehe?
Sub PDF_Export()
Dim oDoc As Object
Dim oSheets As Object
Dim oSheet As Object
Dim oActiveSheet As Object
Dim sFileName As String
Dim i As Integer
oDoc = ThisComponent
oSheets = oDoc.Sheets
' Ursprüngliches Blatt merken
oActiveSheet = oDoc.CurrentController.ActiveSheet
' Dateiname für PDF (Calc braucht URL-Format)
sFileName = ConvertToURL(oDoc.Path & "/Ehrenamt_Activities.pdf")
' Nur sichtbare Blätter werden exportiert
' Wir können den sichtbaren Blättern eine Tabelle zum Export zusammenstellen
' (Calc exportiert automatisch alle sichtbaren Blätter)
' PDF-Export Optionen definieren
Dim args(3) As New com.sun.star.beans.PropertyValue
' FilterName für PDF
args(0).Name = "FilterName"
args(0).Value = "calc_pdf_Export"
' PDF öffnen nach Export
args(1).Name = "FilterData"
Dim filterData(2) As New com.sun.star.beans.PropertyValue
' Dokumenteigenschaften einfügen
filterData(0).Name = "UseLosslessCompression"
filterData(0).Value = True
' Nur Druckbereiche verwenden
filterData(1).Name = "Selection"
filterData(1).Value = False
' Optional: Seitenlayout erhalten
filterData(2).Name = "IgnorePrintAreas"
filterData(2).Value = False
args(1).Value = filterData()
' PDF speichern
oDoc.storeToURL(sFileName, args())
' Ursprüngliches Blatt wieder aktivieren
oDoc.CurrentController.setActiveSheet(oActiveSheet)
' PDF öffnen (Windows)
Shell("cmd /c start """" """ & oDoc.Path & "\Ehrenamt_Activities.pdf""", vbNormalFocus)
End Sub
Danke für die Hilfe im Vorraus.
Huffi
ich benutze die Version 25.8.5.2 und ich wollte ein Makro eingeben, welches mit mehrere Tabellenblätter in eine einzige PDF-Datei exportiert. Habe die Makro im Internet gefunden und habe diese im Editor eingegeben.
Leider musste ich feststellen, dass ich den Code nicht sehe. ICh sehe lediglich den Courser blinken und sosnt gar nix.
Habe eine Lösung im Internet gesucht, aber keine dieser hat funktioniert.
Was muss ich tun, damit ich folgenden Code im Makroeditor sehe?
Sub PDF_Export()
Dim oDoc As Object
Dim oSheets As Object
Dim oSheet As Object
Dim oActiveSheet As Object
Dim sFileName As String
Dim i As Integer
oDoc = ThisComponent
oSheets = oDoc.Sheets
' Ursprüngliches Blatt merken
oActiveSheet = oDoc.CurrentController.ActiveSheet
' Dateiname für PDF (Calc braucht URL-Format)
sFileName = ConvertToURL(oDoc.Path & "/Ehrenamt_Activities.pdf")
' Nur sichtbare Blätter werden exportiert
' Wir können den sichtbaren Blättern eine Tabelle zum Export zusammenstellen
' (Calc exportiert automatisch alle sichtbaren Blätter)
' PDF-Export Optionen definieren
Dim args(3) As New com.sun.star.beans.PropertyValue
' FilterName für PDF
args(0).Name = "FilterName"
args(0).Value = "calc_pdf_Export"
' PDF öffnen nach Export
args(1).Name = "FilterData"
Dim filterData(2) As New com.sun.star.beans.PropertyValue
' Dokumenteigenschaften einfügen
filterData(0).Name = "UseLosslessCompression"
filterData(0).Value = True
' Nur Druckbereiche verwenden
filterData(1).Name = "Selection"
filterData(1).Value = False
' Optional: Seitenlayout erhalten
filterData(2).Name = "IgnorePrintAreas"
filterData(2).Value = False
args(1).Value = filterData()
' PDF speichern
oDoc.storeToURL(sFileName, args())
' Ursprüngliches Blatt wieder aktivieren
oDoc.CurrentController.setActiveSheet(oActiveSheet)
' PDF öffnen (Windows)
Shell("cmd /c start """" """ & oDoc.Path & "\Ehrenamt_Activities.pdf""", vbNormalFocus)
End Sub
Danke für die Hilfe im Vorraus.
Huffi