StoreToURL / Export

05/07/2010 - 22:22 von christian_dcopsm-ENTF | Report spam
Hi,

bevor ich endgültig verzweifle... ich möchte per Makro eine einzelne
Seite eines Spreadsheets als PDF (gerne auch JPG/GIF/...-Grafik)
exportieren.

sub Export
Doc= thisComponent
Dim PrintProperties(1) As New com.sun.star.beans.PropertyValue
PrintProperties(0).Name="Range"
PrintProperties(0).Value="1"
PrintProperties(1).Name="FilterName"
PrintProperties(1).Value = "calc_pdf_Export"
Url="file://server/Doc/test.pdf"
Doc.storetoUrl(Url,PrintProperties())
end Sub

Damit werden aber immer alle Seiten exportiert. (OO 1.1.5: nicht
schlagen, das hat Geschwindigkeitsgründe)

cu,
Christian
PGP Key (RSA) available.
 

Lesen sie die antworten

#1 Marc Santhoff
06/07/2010 - 20:00 | Warnen spam
Am Mon, 05 Jul 2010 22:22:00 +0200 schrieb Christian @Soemtron:

Hi,

bevor ich endgültig verzweifle... ich möchte per Makro eine einzelne
Seite eines Spreadsheets als PDF (gerne auch JPG/GIF/...-Grafik)
exportieren.

sub Export
Doc= thisComponent
Dim PrintProperties(1) As New com.sun.star.beans.PropertyValue
PrintProperties(0).Name="Range"
PrintProperties(0).Value="1"
PrintProperties(1).Name="FilterName"
PrintProperties(1).Value = "calc_pdf_Export"
Url="file://server/Doc/test.pdf"
Doc.storetoUrl(Url,PrintProperties()) end Sub

Damit werden aber immer alle Seiten exportiert. (OO 1.1.5: nicht
schlagen, das hat Geschwindigkeitsgründe)



Ich hatte das vor làngerer Zeit so gelöst, wie man es auch am GUI macht:
Druckbereiche bzw. hier nur einen definiert. Ist allerdings leidlich
komplex, wenn man zusàtzlich eventuell vom Benutzer bereits definierte
Druckbereiche erhalten muß.

Nur setzen ist leicht:

' neuen Druckbereich einstellen, benutzer Bereich auf einer Seite
dim oPrintAreas(0) as new com.sun.star.table.CellRangeAddress
with oPrintAreas(0)
.Sheet = IndexOfSheet(aDoc, aSheet)
.StartRow = 0
.StartColumn = 0
.EndRow = maxRowI(aSheet)
.EndColumn = maxColumnI(aSheet)
end with
aSheet.setPrintAreas(oPrintAreas())

Das Prinzip wird sicher klar. Löschen sollte man auch, sonst bleibt es so
eingestellt und kann verwirren ...

Eine Sache würde mich selbst interessieren:

Im Druckdialog gibt es eine Auswahl "Drucken" mit den Optionen "Alle
Tabellen", ""Ausgwàhlte Tabellen" und "Ausgewàhlte Zellen". Die mittlere
ist natürlich was hier passend wàre. Weiß jemand, wie die von BASIC aus
gewàhlt werden kann?

In den "com/sun/star/view/PrintOptions" oder dem "com/sun/star/view/
PrinterDescriptor" finde ich nichts dazu ...

HTH,
Marc
Nimm die Zwiebeln und steck' sie in den Hasenkopf.

Ähnliche fragen