Seite 1 von 1
PDF Export mit Dateiname aus Zelle
Verfasst: Sa, 23.01.2010 13:10
von Thorsten_Z
Moin Forum,
Mit folgendem Code möchte ich meine ausgewählten Taellen als PDF exportieren und dabei den Dateinamen aus einer Zelle wählen.
Habe den Code hier aus dem Forum, und versucht ihn für mich anzupassen... ohne Erfolg. Wer kann mir helfen?
Code: Alles auswählen
Dim myProps(0) as New com.sun.star.beans.PropertyValue
meinPfad = "C:\Dokumente%20und%20Einstellungen\All%20Users\Desktop\" ' Windows
' Wert aus Tabelle Stammdaten, K1
meinDateiname = ThisComponent.getSheets().getByName( "Stammdaten").getCellRangeByName( "K1" ).getString()
adresse = ("meinPfad" & "meinDateiname")
myProps(0).Name="FilterName"
myProps(0).Value = "calc_pdf_Export"
ThisComponent.storetoUrl(adresse ,myProps(0)) 'hier bricht er ab....
Was mache ich falsch?
Gruß
Thorsten
Re: PDF Export mit Dateiname aus Zelle
Verfasst: Sa, 23.01.2010 13:59
von turtle47
Hallo Thorsten,
Thorsten_Z hat geschrieben:Was mache ich falsch?
Auf den ersten Blick hast Du
Converttourl vergessen.
OO.o-Basic erwartet die Pfadangabe so:
Code: Alles auswählen
meinPfad = converttourl("C:/Dokumente und Einstellungen/All Users/Desktop/")
Die Leerzeichen werden automatisch umgewandelt.
Das kannst Du Dir ja mal in einer MsgBox anzeigen lassen wie es dann aussieht:
Code: Alles auswählen
MsgBox converttourl("C:/Dokumente und Einstellungen/All Users/Desktop/")
Oder aber Du schreibst direkt:
Code: Alles auswählen
meinPfad = "file:///C:/Dokumente%20und%20Einstellungen/All%20Users/Desktop/"
Viel Erfolg.
Jürgen
Re: PDF Export mit Dateiname aus Zelle
Verfasst: Sa, 23.01.2010 14:24
von Thorsten_Z
Hallo Jürgen,
danke für deine Antwort.
Wg. der Lesezeichen... bin totaler Oo Neuling.Habe nur Erfahrung in VBA
Hab jetzt also den Code nach deiner Anweisung geändert. Es ist auch nur ein Ausschnitt aus meinem Code. Er bricht mit der gleichen Fehlermeldung ab. "cannot coerce agument type during corereflection call!"
Schau doch bitte nochmal drüber. Mu0 ich noch was deklarieren o.ä.?
Code: Alles auswählen
sub DruckJan
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
....... 'ganz viel Code zum erstellen der Druckbereiche
rem ----------------------------------------------------------------------
Dim myProps(0) as New com.sun.star.beans.PropertyValue
meinPfad = "file:///C:/Dokumente%20und%20Einstellungen/All%20Users/Desktop/" ' Windows
' Wert aus Tabelle Stammdaten, K1
meinDateiname = ThisComponent.getSheets().getByName( "Stammdaten").getCellRangeByName( "K1" ).getString()
adresse = ("meinPfad" & "meinDateiname")
myProps(0).Name="FilterName"
myProps(0).Value = "calc_pdf_Export"
ThisComponent.storetoUrl(adresse ,myProps(0)) 'bricht wieder hier ab.
rem ----------------------------------------------------------------------
'...... Ganz viel Code zum aufheben der Druckbereiche
rem ----------------------------------------------------------------------
end Sub
Wäre toll, wenn du noch eine Idee hättest.
Gruß
Thorsten
Re: PDF Export mit Dateiname aus Zelle
Verfasst: Sa, 23.01.2010 15:10
von turtle47
Hi Thorsten,
der erste Fehler liegt in der Zeile:
Dort übergibst Du keine Variablen sondern nur Text, nämlich "meinPfad" und "meinDateiname"
Richtig ist
Der zweite Fehler liegt bei der Übergabe der Exportparameter. Dort muss der Filter und die URL übergeben werden:
Hier mal ein funktionierender Code:
Code: Alles auswählen
sub DruckJan
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
'ganz viel Code zum erstellen der Druckbereiche
rem ----------------------------------------------------------------------
meinPfad = "C:/Dokumente und Einstellungen/All Users/Desktop/" ' Windows
' Wert aus Tabelle Stammdaten, K1
meinDateiname = ThisComponent.getSheets().getByName( "Stammdaten").getCellRangeByName( "K1" ).getString()
adresse = converttourl(meinPfad & meinDateiname & ".pdf")'Suffix PDF mitgeben wenn nicht im Dateinamen enthalten!
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = adresse
args1(1).Name = "FilterName"
args1(1).Value = "calc_pdf_Export"
dispatcher.executeDispatch(document, ".uno:ExportDirectToPDF", "", 0, args1())
rem ----------------------------------------------------------------------
'...... Ganz viel Code zum aufheben der Druckbereiche
rem ----------------------------------------------------------------------
end Sub [code]
[/code]
Wenn der Dateiname in der Zelle ohne den Suffix steht muss man diesen mit
auch noch mitgeben!
Ich hoffe das hilft weiter.
Jürgen
Re: PDF Export mit Dateiname aus Zelle
Verfasst: Sa, 23.01.2010 18:01
von Thorsten_Z
.... Das hat ja mal gut geklappt

. Vielen Dank Jürgen.
Funktioniert perfekt.
Gruß
Thorsten