Export von PDF' s stoppt nach dem 2. Mal.
Verfasst: Di, 21.01.2025 14:11
Hallo zusammen,
ich versuche aus einer Liste mit einer Schleife Teilnahmebescheinigungen als PDF zu exportieren.
Das funktioniert aber nur zwei Mal.
Die erste PDF kommt ganz normal. Das Makro hängt sich dann bei: ThisComponent.storetoUrl(sUrl,myProps()) auf.
Danach kommt die Fehlermeldung:
Type: com.sun.star.lang.IllegalArgumentException
Message: sequence element is not assignable by given value!.
Die zweite PDF kann auch nicht geöffnet werden (Meldung: Die Datei ist beschädigt).
Ich bin Basic Anfänger und hoffe, dass mir jemand von Euch helfen kann.
Betriebssystem: OS X Monterey
Libre Office Version: 24.2.6.2
Hier mein Code:
myView.setActiveSheet(TBaktuell)
Bereich = TBOrange.getCellRangeByName("R3:R60")
for i = 2 to 60 ' 3. Zeile bis 60. Zeile (bezieht sich auf Spalte "R"
Druck = TBOrange.getCellByPosition(17,i) ' Zugriff auf Zelle R3
If Druck.string = ("?") Then
next
IF Druck.string = ("OK !") Then
Daten = TBOrange.getCellRangeByPosition(1,i,2,i) 'Name und Vorname
Werte = Daten.getDataArray
Ziel = TBaktuell.getCellRangeByPosition(10,2,11,2) '(K3:L3)
Ziel.setDataArray(Werte)
Daten1 = TBOrange.getCellRangeByPosition(6,i,8,i) 'PLZ, Ort, Straße
Werte1 = Daten1.getDataArray
Ziel1 = TBaktuell.getCellRangeByPosition(12,2,14,2) '(M3:O3)
Ziel1.setDataArray(Werte1)
'PDF Drucken
oCalc = thiscomponent
oSheet = oCalc.Sheets(16) 'das 16. Tabellenblatt (TN-Best PT)
'Markiere den Druckbereich
oCalc.CurrentController.Select(oBereich)
'Setze Dateinamen
Nachname = oSheet.getCellRangeByName("K3").String
Vorname = oSheet.getCellRangeByName("L3").String
DateiName = DateiPfad & Nachname("K3") & " " & Vorname("L3") & ".pdf"
Dim myProps(0) as New com.sun.star.beans.PropertyValue
oCalc = thiscomponent.currentController.activesheet
oBereich=oSheet.getcellrangebyname("$A$1:$H$43")
' Druckbereich(0)= oBereich.RangeAddress
oCalc.setprintareas(Druckbereich)
myProps(0).Name="FilterName"
myProps(0).Value = "calc_pdf_Export"
sUrl = converttourl(DateiName)
ThisComponent.storetoUrl(sUrl,myProps())
End if
next
ich versuche aus einer Liste mit einer Schleife Teilnahmebescheinigungen als PDF zu exportieren.
Das funktioniert aber nur zwei Mal.
Die erste PDF kommt ganz normal. Das Makro hängt sich dann bei: ThisComponent.storetoUrl(sUrl,myProps()) auf.
Danach kommt die Fehlermeldung:
Type: com.sun.star.lang.IllegalArgumentException
Message: sequence element is not assignable by given value!.
Die zweite PDF kann auch nicht geöffnet werden (Meldung: Die Datei ist beschädigt).
Ich bin Basic Anfänger und hoffe, dass mir jemand von Euch helfen kann.
Betriebssystem: OS X Monterey
Libre Office Version: 24.2.6.2
Hier mein Code:
myView.setActiveSheet(TBaktuell)
Bereich = TBOrange.getCellRangeByName("R3:R60")
for i = 2 to 60 ' 3. Zeile bis 60. Zeile (bezieht sich auf Spalte "R"
Druck = TBOrange.getCellByPosition(17,i) ' Zugriff auf Zelle R3
If Druck.string = ("?") Then
next
IF Druck.string = ("OK !") Then
Daten = TBOrange.getCellRangeByPosition(1,i,2,i) 'Name und Vorname
Werte = Daten.getDataArray
Ziel = TBaktuell.getCellRangeByPosition(10,2,11,2) '(K3:L3)
Ziel.setDataArray(Werte)
Daten1 = TBOrange.getCellRangeByPosition(6,i,8,i) 'PLZ, Ort, Straße
Werte1 = Daten1.getDataArray
Ziel1 = TBaktuell.getCellRangeByPosition(12,2,14,2) '(M3:O3)
Ziel1.setDataArray(Werte1)
'PDF Drucken
oCalc = thiscomponent
oSheet = oCalc.Sheets(16) 'das 16. Tabellenblatt (TN-Best PT)
'Markiere den Druckbereich
oCalc.CurrentController.Select(oBereich)
'Setze Dateinamen
Nachname = oSheet.getCellRangeByName("K3").String
Vorname = oSheet.getCellRangeByName("L3").String
DateiName = DateiPfad & Nachname("K3") & " " & Vorname("L3") & ".pdf"
Dim myProps(0) as New com.sun.star.beans.PropertyValue
oCalc = thiscomponent.currentController.activesheet
oBereich=oSheet.getcellrangebyname("$A$1:$H$43")
' Druckbereich(0)= oBereich.RangeAddress
oCalc.setprintareas(Druckbereich)
myProps(0).Name="FilterName"
myProps(0).Value = "calc_pdf_Export"
sUrl = converttourl(DateiName)
ThisComponent.storetoUrl(sUrl,myProps())
End if
next