von Stephan » Mo, 23.08.2004 20:31
als "SXC" und/oder als "PDF"
Speichern einer Datei ist an sich kein Problem, nur wie stelle ich das mit einem selektierten Bereich an?
Wenn das *.sxc sein soll mußt Du ein leeres Dokument erzeugen und den Bereich da hineinkopieren, wir haben das vor einigen Tagen diskutiert, da ja ein neues Dokument leer ist wird mit dem Schreiben der Daten in Position A1 begonnen (so Du das nicht ändern willst) wenn Du meinen Code aus:
viewtopic.php?t=1576
verwendest. Oder war da noch was unklar?
(wenn Du ein *.sxc verwenden willst mußt Du so verfahren, deshalb hatte ich ja nach dem Format gefragt. Bei z.B. *.txt würde das anders gehen)
PDF alleine geht nicht, Du mußt erst wieder die *.sxc erzeugen und dann zu PDF konvertieren, hier ist ein allgemeiner Code dafür:
Code: Alles auswählen
Sub PDFExport
' Variablen deklarieren
Dim oOfficeDokument as Object
Dim sUrl as String
Dim sFilterName as String
Dim exportEigenschaften(1) as _
New com.sun.star.beans.PropertyValue
' aktuelles Dokument holen
oOfficeDokument = ThisComponent
' Pfad für Export
sUrl = ConvertToUrl( "/tmp/test/basictest.pdf" )
' Typ des Dokumentes feststellen
' und entsprechenden PDF-Exportfilter auswählen
If oOfficeDokument.supportsService( _
"com.sun.star.text.TextDocument" ) then
sFilterName = "writer_pdf_Export"
Elseif oOfficeDokument.supportsService( _
"com.sun.star.sheet.SpreadsheetDocument" ) then
sFilterName = "calc_pdf_Export"
Elseif oOfficeDokument.supportsService( _
"com.sun.star.presentation.PresentationDocument" ) then
sFilterName = "impress_pdf_Export"
Elseif oOfficeDokument.supportsService( _
"com.sun.star.draw.DrawDocument" ) then
sFilterName = "draw_pdf_Export"
Else
' nichte erkannte Datei:
' Fehleranzeige und Abbruch
MsgBox "Nicht unterstützes Dokument"
Exit Sub
End If
' Exporteigenschaften für PDF-Export
exportEigenschaften(0).Name = "FilterName"
exportEigenschaften(0).Value = sFilterName
exportEigenschaften(1).Name = "CompressMode"
exportEigenschaften(1).Value = 0
' als PDF exportieren
oOfficeDokument.storeToUrl( sUrl , exportEigenschaften() )
End Sub
Stephan
[quote]als "SXC" und/oder als "PDF"
Speichern einer Datei ist an sich kein Problem, nur wie stelle ich das mit einem selektierten Bereich an? [/quote]
Wenn das *.sxc sein soll mußt Du ein leeres Dokument erzeugen und den Bereich da hineinkopieren, wir haben das vor einigen Tagen diskutiert, da ja ein neues Dokument leer ist wird mit dem Schreiben der Daten in Position A1 begonnen (so Du das nicht ändern willst) wenn Du meinen Code aus:
http://de.openoffice.info/viewtopic.php?t=1576
verwendest. Oder war da noch was unklar?
(wenn Du ein *.sxc verwenden willst mußt Du so verfahren, deshalb hatte ich ja nach dem Format gefragt. Bei z.B. *.txt würde das anders gehen)
PDF alleine geht nicht, Du mußt erst wieder die *.sxc erzeugen und dann zu PDF konvertieren, hier ist ein allgemeiner Code dafür:
[code]Sub PDFExport
' Variablen deklarieren
Dim oOfficeDokument as Object
Dim sUrl as String
Dim sFilterName as String
Dim exportEigenschaften(1) as _
New com.sun.star.beans.PropertyValue
' aktuelles Dokument holen
oOfficeDokument = ThisComponent
' Pfad für Export
sUrl = ConvertToUrl( "/tmp/test/basictest.pdf" )
' Typ des Dokumentes feststellen
' und entsprechenden PDF-Exportfilter auswählen
If oOfficeDokument.supportsService( _
"com.sun.star.text.TextDocument" ) then
sFilterName = "writer_pdf_Export"
Elseif oOfficeDokument.supportsService( _
"com.sun.star.sheet.SpreadsheetDocument" ) then
sFilterName = "calc_pdf_Export"
Elseif oOfficeDokument.supportsService( _
"com.sun.star.presentation.PresentationDocument" ) then
sFilterName = "impress_pdf_Export"
Elseif oOfficeDokument.supportsService( _
"com.sun.star.draw.DrawDocument" ) then
sFilterName = "draw_pdf_Export"
Else
' nichte erkannte Datei:
' Fehleranzeige und Abbruch
MsgBox "Nicht unterstützes Dokument"
Exit Sub
End If
' Exporteigenschaften für PDF-Export
exportEigenschaften(0).Name = "FilterName"
exportEigenschaften(0).Value = sFilterName
exportEigenschaften(1).Name = "CompressMode"
exportEigenschaften(1).Value = 0
' als PDF exportieren
oOfficeDokument.storeToUrl( sUrl , exportEigenschaften() )
End Sub[/code]
Stephan