Freigeben über


Arbeiten mit Druckereinstellungen für Formulare und Berichte

Die Printer-Objekte, die Form- und Report-Objekten zugeordnet sind, unterstützen die gleichen Eigenschaften und Programmiertechniken wie das Printer-Objekt des Application-Objekts.

Verwenden Sie das Printer -Objekt eines Form oder Report -Objekts, wenn Sie Druckereinstellungen für ein bestimmtes Formular oder einen Bericht abrufen oder festlegen möchten. Sie können die Druckereinstellungen für ein Formular oder einen Bericht entweder temporär ändern, oder mit dem Dokument abspeichern.

Speichern von Druckereinstellungen mit einem Formular oder Bericht

Ob ein Formular oder Bericht die Einstellungen des Standarddruckers der Anwendung verwendet (Einstellungen im Printer-Objekt des Application-Objekts) hängt davon ab, ob im Formular oder Bericht bereits Druckereinstellungen hinterlegt wurden. Druckereinstellungen für ein Formular oder einen Bericht können auf zwei Arten gespeichert werden:

  • Ein Benutzer kann Druckereinstellungen im geöffneten Formular oder Bericht speichern, indem er die Einstellungen über die Dialogfenster Drucken oder Seitenlayout bearbeitet.

  • Sie können Änderungen am Printer-Objekt eines Formulars oder Berichts im Code vornehmen. Diese Änderungen werden mit dem Formular oder Bericht gespeichert, wenn Sie vor dem Schließen des Formulars oder Berichts die Save-Methode verwenden oder acSaveYes für das Argument Save angeben, wenn Sie die Close-Methode zum Schließen des Formulars oder Berichts verwenden.

Hinweis

Wenn Druckereinstellungen mit einem Formular oder Bericht gespeichert werden, erstellt Access eine neue Datenstruktur, in der die gespeicherten Einstellungen hinterlegt werden können. Zu Beginn enthält die Datenstruktur eine Kopie aller Einstellungen des Standarddruckers. Die Einstellungen, die der Benutzer im Programm oder Sie im Code vorgenommen haben, werden dort gespeichert.

In Access findet keine Vererbung zwischen den Einstellungen des Standarddruckers und den im Formular oder Bericht gespeicherten Einstellungen statt. Wenn Sie die Einstellungen des Standarddruckers nach dem Speichern der Einstellungen für ein Formular oder einen Bericht ändern, werden diese Einstellungen nicht überschrieben.

Bestimmen, ob ein Formular oder Bericht Druckereinstellungen gespeichert hat

Um zu bestimmen, ob ein Formular oder Bericht Druckereinstellungen gespeichert hat, können Sie die UseDefaultPrinter-Eigenschaft eines Form - oder Report-Objekts mithilfe der folgenden Syntax lesen, wobei ausdruck ein beliebiger Ausdruck ist, der ein Form- oder Report-Objekt zurückgibt.

expression .UseDefaultPrinter 

In der Entwurfsansicht haben Sie Lese- und Schreibzugriff auf die UseDefaultPrinter -Eigenschaft, in allen anderen Ansichten ist die Eigenschaft schreibgeschützt.

Löschen gespeicherter Druckereinstellungen

Sie können die UseDefaultPrinter-Eigenschaft wie eine Methode zum Löschen der gespeicherten Einstellungen aus einem Formular oder Bericht verwenden, indem Sie den Wert auf True setzen. Dies entspricht dem Öffnen des Dialogfelds Seite einrichten für das Formular oder Bericht und dem Auswählen von Standarddrucker auf der Registerkarte Seite . Sie können die UseDefaultPrinter-Eigenschaft nur festlegen, wenn ein Formular oder Bericht in der Entwurfsansicht geöffnet ist.

Das folgende Codefragment öffnet jeden der Berichte im aktuellen Projekt und löscht alle Berichte, die Einstellungen gespeichert haben.

For Each obj In CurrentProject.AllReports 
    DoCmd.OpenReport ReportName:=obj.Name, View:=acViewDesign 
    If Not Reports(obj.Name).UseDefaultPrinter Then 
        Reports(obj.Name).UseDefaultPrinter = True 
        DoCmd.Save ObjectType:=acReport, ObjectName:=obj.Name 
    End If 
    DoCmd.Close 
Next obj 

Beibehalten der Druckereinstellungen für Formular und Bericht

Wenn Sie die Einstellungen der Druckereigenschaft für Formulare oder Berichte programmgesteuert ändern, während das Objekt in einer anderen Ansicht als der Entwurfsansicht geöffnet ist, werden die Änderungen automatisch gespeichert, sobald der Benutzer das Formular oder den Bericht schließt.

Die folgende Prozedur zeigt, wie Sie die Druckereinstellungen für einen Bericht speichern und wiederherstellen können.

Sub RestoreReportPrinter() 
    Dim rpt As Report 
    Dim prtOld As Printer 
    Dim prtNew As Printer 
 
    ' Open the Invoice report in Print Preview. 
    DoCmd.OpenReport ReportName:="Invoice", View:=acViewPreview 
 
    ' Initialize rpt variable. 
    Set rpt = Reports!Invoice 
 
    ' Save the report's current printer settings 
    ' in the prtOld variable. 
    Set prtOld = rpt.Printer 
 
    ' Load the report's current printer settings 
    ' into the prtNew variable. 
    Set prtNew = rpt.Printer 
 
    ' Change the report's Orientation property. 
    prtNew.Orientation = acPRORLandscape 
 
    ' Change other Printer properties, and then print 
    ' or perform other operations here. 
 
    ' If you comment out the following line of code, 
    ' and a user interactively closes the report preview 
    ' any changes made to properties of the report's Printer 
    ' object are saved when the report is closed.  
    Set rpt.Printer = prtOld 
 
    ' Close report without saving. 
    DoCmd.Close ObjectType:=acReport, ObjectName:="Invoice", Save:=acSaveNo 
 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.