Seite 1 von 1

Dateinamenproblem

Verfasst: Fr, 12.03.2021 18:55
von RalphBerglen
Hallo,

ich habe ein Problem, das ich nicht gelöst bekomme.

Ich will eine Tabelle als PDF abspeichern. Dar Dateiname soll sich aus Datum (jjmmtt)&einem Namen& und einer Zahl zusammensetzen.
Kann mir jemand unter die Arme greifen?

Vielen Dank

Re: Dateinamenproblem

Verfasst: Fr, 12.03.2021 19:31
von Hiker
Hallo,

ich nehme mal an, dass Du das "irgendwie" automatisieren willst, was Speichern per Macro bedeuten würde.

Wo soll denn der Name und die Zahl herkommen?

Ich würde normalerweise vorschlagen Du setzt den Dateinamen in einer definierten Zelle zusammen Z.B.

Code: Alles auswählen

=HEUTE()&N1&Z1
und der/die/das Macro bedient sich in der Zelle.

Mfg, Jörn

Re: Dateinamenproblem

Verfasst: Fr, 12.03.2021 23:47
von RalphBerglen
Hallo Hiker,
Du vermutest richtig mit dem automatisieren. Ich erzeuge auf einer Tabelle eine Rechnung,drucke sie und will sie dann als PDF abspeichern, da die Rechnung durch eine neue Rechnung überschrieben wird.

Den Code habe ich so erzeugt wie du es beschreibst. Wenn ich dann per makro darauf zugreife und den Inhalt dann einfüge bei speichern unter, bricht das Makro mit Fehlermeldung ab und das pdf wird nicht gespeichert

Kann ich dieses Problem mit dem speichern per Makro lösen? Wenn ja wo finde ich das

Mfg Ralph

Re: Dateinamenproblem

Verfasst: Sa, 13.03.2021 09:21
von Hiker
Hallo,

zum Suchen:
erstmal den Macro-Teil des Forums nach Schlagworten wie PDF durchsuchen.
Das Thema kommt in Varianten immer mal vor, aber auch ein Blick zu
Dannenhöfer lohnt oft: http://www.dannenhoefer.de/faqstarbasic ... l#Zweig133

Gut funktionierte für mich eine Lösung von mikeleB:
https://www.openoffice-forum.de/viewtop ... 21&t=11326


Ich nutze folgende Routine in einem meiner Windows-Projekte -Auslesen der "Nummer in diesem Fall aus H4:

Code: Alles auswählen

sub SavPDF
	odoc=thisComponent
	myView = oDoc.CurrentController
rem Dateinamen auf Basis von Zelle H4 = 7,3	erzeugen
rem	Abrechnung = 1.Tabelle ab 0 gezählt:
	mysheet = oDoc.sheets(0)
	mycell =  mysheet.getCellByPosition(7, 3)
	sUrl= "file:///C:/Users/Hiker/Documents/Abrechnung/"+ mycell.string + "-abr.pdf"

rem	Erste Tabelle als Bereich wählen
    myrange = odoc.createInstance("com.sun.star.sheet.SheetCellRanges")
	'Auslesen des Druckbereichs
	obereiche = odoc.createInstance("com.sun.star.sheet.SheetCellRanges")
	for i=0 to ubound(mysheet.printareas) 
		myrange.addRangeAddress(mysheet.printareas(i), 0)
	next

	Dim myProps(2) as New com.sun.star.beans.PropertyValue
	myProps(0).Name = "URL"	
	myProps(0).Value = converttourl(sUrl)
	myProps(1).Name="FilterName"
	myProps(1).Value = "calc_pdf_Export"
	Dim myFilterData(0) as new com.sun.star.beans.PropertyValue
	myFilterData(0).Name = "Selection"
	myFilterData(0).Value = myrange
	myProps(2).Name = "FilterData"
	myProps(2).Value = myFilterData()
	oDoc.storetoUrl(myProps(0).Value, myProps())
end Sub
Mfg, Jörn