Makro Pfd drucken

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro Pfd drucken

Re: Makro Pfd drucken

von mikeleb » Fr, 03.03.2017 08:02

Hallo,
dazu muss vorher der Pfad der Datei bestimmt werden, z. B. so:

Code: Alles auswählen

sub Drucken_PDF
	'Zugriff auf Dokument
	oDoc=ThisComponent
	'Pfad ermitteln
	sUrl=oDoc.url
	slash=0
	for i=len(sUrl) to 1 step -1
		if mid(sUrl,i,1)="/" then 
			slash=i
			i=1
		end if
	next
	sPfad=left(sUrl,slash)
	'Zugriff auf Auswahl
	oBereiche=oDoc.CurrentSelection
	'Setzen der Argumente für pdf-Export
	Dim arg(2) as new com.sun.star.beans.PropertyValue
	'Dateiname
	arg(0).Name = "URL"	
	arg(0).Value = ConvertToUrl(sPfad & Dateiname & ".pdf")
	'Typ pdf
	arg(1).Name = "FilterName"
	arg(1).Value = "calc_pdf_Export"
	'weitere Parameter als Array
	dim aFilterData(0) as new com.sun.star.beans.PropertyValue
	'hier: Auswahl
	aFilterData(0).Name = "Selection"
	aFilterData(0).Value = obereiche
	arg(2).Name = "FilterData"
	arg(2).Value = aFilterData()
	'Datei schreiben
	oDoc.storetoUrl(arg(0).value,arg())
end sub

Re: Makro Pfd drucken

von mikeleb » Do, 02.03.2017 12:49

Hallo,
das Problem hatte ich schon einmal. Um die aktuelle Auswahl als pdf zu exportieren sollte folgendes Makro reichen:

Code: Alles auswählen

sub Drucken_PDF
	'Zugriff auf Dokument
	oDoc=ThisComponent
	'Zugriff auf Auswahl
	oBereiche=oDoc.CurrentSelection
	'Setzen der Argumente für pdf-Export
	Dim arg(2) as new com.sun.star.beans.PropertyValue
	'Dateiname
	arg(0).Name = "URL"	
	arg(0).Value = ConvertToUrl("file:///d:/Test/"& Dateiname & ".pdf")
	'Typ pdf
	arg(1).Name = "FilterName"
	arg(1).Value = "calc_pdf_Export"
	'weitere Parameter als Array
	dim aFilterData(0) as new com.sun.star.beans.PropertyValue
	'hier: Auswahl
	aFilterData(0).Name = "Selection"
	aFilterData(0).Value = obereiche
	arg(2).Name = "FilterData"
	arg(2).Value = aFilterData()
	'Datei schreiben
	oDoc.storetoUrl(arg(0).value,arg())
end sub
Die Funktion ConvertToUrl() sichert die korrekte Url-Schreibweise des Dateinamens (im Falle von Umlauten, Leerzeichen, ...)

Re: Makro Pfd drucken

von Stephan » Do, 02.03.2017 08:25

Tut mir leid, bin nicht so firm in der Sache. Hab ich grad mal ausprobiert. Es werden immer noch alle Blätter aus der Datei gedruckt....
Das ist deshalb so will sich "SelectionOnly" nicht auf die selektierten Tabellenblätter, sondern die selektierten Bereiche/Zelle in Tabellenblättern bezieht.

Der richtige Weg ist der Druckbereiche zu definieren, wie hier bereits im Thread genannt.

Ein anderer möglicher Weg sollte sein im Makro die Property-Value:

Code: Alles auswählen

Array("PageRange",0,"1,2",com.sun.star.beans.PropertyState.DIRECT_VALUE))
anzupassen. Ich weiß gerade nicht was dort stehen muss, Du musst das ausprobieren indem Du das PDF-Erzeugen als Makro aufzeichnest und dabei im Register "Allgemein" im Bereich "Bereich" die gewünschten Seiten angibst.


Gruß
Stephan

Re: Makro Pfd drucken

von Karolus » Mi, 01.03.2017 11:41

Hallo

Code: Alles auswählen

args1(3).Name = "SelectionOnly"
args1(3).Value = false
Ist das nicht ziemlich offensichtlich an der Stelle mal True statt false zu nehmen??

Karolus

Re: Makro Pfd drucken

von Jörg » Mi, 01.03.2017 11:39

Hallo,
vielleicht hilft das:
Unter Format->Druckbereiche festlegen. Geht für jedes einzelne Tabellenblatt.

Nach oben