von sule1979 » Mo, 13.03.2006 13:41
Hallo,
ich habe das Forum schon komplett durchgestöbert und alles mögliche ausprobiert, doch ich komme mit meinem Problem einfach nicht weiter.
Ich habe ein Tabellendokument mit 2 Tabellen "Rechnung" und "Adressen". Per Maktro will ich erreichen, daß NUR aus der Tabelle "Rechnung" und dem Druckbereich "A1:F54", die Daten in eine PDF-Datei geschrieben werden.
Der Ausdruck in die PDF-Datei klappt hervorragend, doch es wird alles gedruckt (Rechnung und Adressen)!?
Wer kann mir helfen?
( OS: Windows 2000 Prof. + OO 2.0 )
Sub Rechnung_PDF
' Variablen deklarieren *****************************
Dim oDoc as Object
Dim oSheet as Object
Dim sUrl as String
Dim sFilterName as String
Dim exportEigenschaften(1) as New com.sun.star.beans.PropertyValue
' aktuelles Dokument holen
oDoc = ThisComponent
' Druckbereich **************************************
Dim aDruckbereiche(0)
dim osheet1 as object
oSheet1 = oDoc.getSheets().getByName("Rechnung")
oDruckBereich1 = oSheet1.getCellRangeByName("A1:F25").rangeAddress
aDruckbereiche(0) = oDruckBereich1
oSheet1.setPrintAreas(aDruckbereiche())
' Pfad für Export ************************************
sUrl1 = oDoc.url
n = 1
do while instr(n+1, sUrl1, "/") <> 0
n = instr(n+1, sUrl1,"/")
loop
oSheet = oDoc.sheets().getByName("Rechnung")
sUrl2 = oSheet.getCellRangeByName("F7").string
rem sUrl = ConvertToUrl( "c:/basictest.pdf" )
sUrl = left(sUrl1, n) & ("Rechnung_") & sUrl2 & (".pdf")
' Typ des Dokumentes feststellen
' und entsprechenden PDF-Exportfilter auswählen
If oDoc.supportsService( _
"com.sun.star.text.TextDocument" ) then
sFilterName = "writer_pdf_Export"
Elseif oDoc.supportsService( _
"com.sun.star.sheet.SpreadsheetDocument" ) then
sFilterName = "calc_pdf_Export"
Elseif oDoc.supportsService( _
"com.sun.star.presentation.PresentationDocument" ) then
sFilterName = "impress_pdf_Export"
Elseif oDoc.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 ******************************
odoc.storeToUrl(sUrl,exportEigenschaften())
End Sub
Hallo,
ich habe das Forum schon komplett durchgestöbert und alles mögliche ausprobiert, doch ich komme mit meinem Problem einfach nicht weiter.
Ich habe ein Tabellendokument mit 2 Tabellen "Rechnung" und "Adressen". Per Maktro will ich erreichen, daß NUR aus der Tabelle "Rechnung" und dem Druckbereich "A1:F54", die Daten in eine PDF-Datei geschrieben werden.
Der Ausdruck in die PDF-Datei klappt hervorragend, doch es wird alles gedruckt (Rechnung und Adressen)!?
Wer kann mir helfen?
( OS: Windows 2000 Prof. + OO 2.0 )
Sub Rechnung_PDF
' Variablen deklarieren *****************************
Dim oDoc as Object
Dim oSheet as Object
Dim sUrl as String
Dim sFilterName as String
Dim exportEigenschaften(1) as New com.sun.star.beans.PropertyValue
' aktuelles Dokument holen
oDoc = ThisComponent
' Druckbereich **************************************
Dim aDruckbereiche(0)
dim osheet1 as object
oSheet1 = oDoc.getSheets().getByName("Rechnung")
oDruckBereich1 = oSheet1.getCellRangeByName("A1:F25").rangeAddress
aDruckbereiche(0) = oDruckBereich1
oSheet1.setPrintAreas(aDruckbereiche())
' Pfad für Export ************************************
sUrl1 = oDoc.url
n = 1
do while instr(n+1, sUrl1, "/") <> 0
n = instr(n+1, sUrl1,"/")
loop
oSheet = oDoc.sheets().getByName("Rechnung")
sUrl2 = oSheet.getCellRangeByName("F7").string
rem sUrl = ConvertToUrl( "c:/basictest.pdf" )
sUrl = left(sUrl1, n) & ("Rechnung_") & sUrl2 & (".pdf")
' Typ des Dokumentes feststellen
' und entsprechenden PDF-Exportfilter auswählen
If oDoc.supportsService( _
"com.sun.star.text.TextDocument" ) then
sFilterName = "writer_pdf_Export"
Elseif oDoc.supportsService( _
"com.sun.star.sheet.SpreadsheetDocument" ) then
sFilterName = "calc_pdf_Export"
Elseif oDoc.supportsService( _
"com.sun.star.presentation.PresentationDocument" ) then
sFilterName = "impress_pdf_Export"
Elseif oDoc.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 ******************************
odoc.storeToUrl(sUrl,exportEigenschaften())
End Sub