Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Dringend: Standardrucker einzelner Forms deaktivieren





Frage

Habe das Problem das in machen Forms ein individueller Standarddrucker festgelegt ist! Konkretes Beispiel: Standardrucker des PC's (unter Systemsteuereung eingestellt) WP04 Standardrucker einzelner Forms, unabhängig von der Einstellung unter Systemsteuerung, immer WP02 Meine Frage: Wie ist es möglich das der individuelle Standardrucker einzelner Formulare deaktiviert werden kann und bei diesen Formularen wieder der unter Systemsteuerung definierte Standarddrucker als Standarddrucker angenommen wird! Bin für jede Hilfe dankbar! Mfg akuji

Antwort 1 von Armin

hallo,

ich verwende den folgenden code um eine pdf datei über einen pdf printer zu erzeugen, sollte dir auch helfen nach anpassung.

das kann vielleicht noch eleganter gelöst werden, was denken andere ?


    Case 3:
        ' 1.1 find default printer (to restore)
        strPrinterDeviceName = Application.Printer.DeviceName
        
        
        ' 2.1 find pdf printer
        intPrinterID = 0
        
        For Each prtLoop In Application.Printers
            With prtLoop
                If .DeviceName = "PDF Genie" Then
                    Exit For
                End If
            End With
            
            intPrinterID = intPrinterID + 1
        Next prtLoop

        ' 2.2 set pdf as default printer
        Set Application.Printer = Application.Printers(intPrinterID)

        ' 3.1 print
        DoCmd.OpenReport strReportType, acViewPreview, , , acWindowNormal, Me.QueryName
        DoCmd.PrintOut acPrintAll, , , acHigh
        DoCmd.Close acReport, strReportType, acSaveNo
        
        ' 3.2 find default printer again
        intPrinterID = 0
        
        For Each prtLoop In Application.Printers
            With prtLoop
                If .DeviceName = strPrinterDeviceName Then
                    Exit For
                End If
            End With
            
            intPrinterID = intPrinterID + 1
        Next prtLoop

        ' 3.3 reset default printer
        Set Application.Printer = Application.Printers(intPrinterID)
    
    


cu armin