Hallo,
vielleicht hilft das:
Unter Format->Druckbereiche festlegen. Geht für jedes einzelne Tabellenblatt.
Makro Pfd drucken
Moderator: Moderatoren
Re: Makro Pfd drucken
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Makro Pfd drucken
Hallo
Karolus
Ist das nicht ziemlich offensichtlich an der Stelle mal True statt false zu nehmen??Code: Alles auswählen
args1(3).Name = "SelectionOnly" args1(3).Value = false
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Makro Pfd drucken
Das ist deshalb so will sich "SelectionOnly" nicht auf die selektierten Tabellenblätter, sondern die selektierten Bereiche/Zelle in Tabellenblättern bezieht.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....
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))
Gruß
Stephan
Re: Makro Pfd drucken
Hallo,
das Problem hatte ich schon einmal. Um die aktuelle Auswahl als pdf zu exportieren sollte folgendes Makro reichen:
Die Funktion ConvertToUrl() sichert die korrekte Url-Schreibweise des Dateinamens (im Falle von Umlauten, Leerzeichen, ...)
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
Gruß,
mikeleb
mikeleb
Re: Makro Pfd drucken
Hallo,
dazu muss vorher der Pfad der Datei bestimmt werden, z. B. so:
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
Gruß,
mikeleb
mikeleb