PageSetup.PaperSize -Eigenschaft
16.11.2008 11:43:09
Jürgen
ich möchte mit Excel 2007 VBA eine Excel-Arbeitsmappe mit mehreren sehr großen Tabellenblättern als PDF-Datei erstellen, in der die Größe des PDF-Seitenformats aus der Gesamtbreite der Spalten und der Gesamthöhe aller Zeilen bestimmt wird. Die PDF-Datei wird niemals ausgedruckt werden, sondern nur auf dem Bildschirm mit entsprechendem Zoom angesehen.
Die benutzerdefinierten Einstellungen des PDF-Seitenformats kann ich im PDF-Druckertreiber vorgeben, doch bei allen Tabellenblättern, bei denen unter Seitenlayout / Größe das Seiten-/Papierformat wie z. B. A4 oder Letter bereits vorgegeben ist, werden die benutzerdefinierten Einstellungen im PDF-Druckertreiber nicht akzeptiert. Ist das Seiten-/Papierformat im Tabellenblatt nicht vorgegeben, funktioniert das problemlos.
Ich habe es mit der VBA PageSetup.PaperSize Eigenschaft versucht, doch bei der Verwendung der XlPaperSize-Konstanten "xlPaperUser" für benutzerdefiniert bekomme ich den Laufzeitfehler 1004, der besagt, dass Die PaperSize-Eigenschaft des PageSetup-Objektes kann nicht festgelegt werden.
Wie kann ich die Vorgabe des Seiten-/Papierformats im Tabellenblatt löschen? Hat jemand eine Idee?
Im Folgenden der VBA-Code für meine Tests:
' MS-Office 2007 Prof. Plus SP1
' Auszug aus Excel 2007 -Entwicklerreferenz
' PageSetup.PaperSize -Eigenschaft
' Gibt die Größe des Papiers zurück oder legt sie fest.
' XlPaperSize-Wert mit Lese-/Schreibzugriff.
' **************
' Syntax: Ausdruck.PaperSize
' Ausdruck: Eine Variable, die ein PageSetup-Objekt darstellt
' Erstellungsdatum des Makros: 16.11.2008
Sub Makro()
With ActiveSheet.PageSetup
.PaperSize = xlPaperA4 ' funktioniert problemlos
' Benutzer-definiertes Seiten-/Papierformat festlegen
' (Seitenlayout / Größe / Papierformate)
' über die XlPaperSize-Konstante "xlPaperUser"
.PaperSize = xlPaperUser ' erzeugt Laufzeitfehler '1004'
' Erläuterung zum Laufzeitfehler '1004' :
' Die PaperSize-Eigenschaft des PageSetup-Objektes kann nicht festgelegt werden.
End With
End Sub
Gruß
Jürgen