standart drucker

  • Moin Moin,


    wie bekomme ich den momentanen standart drucker raus?


    hab schon ein bissl rumgesucht und den kern des problems (document was gelöscht wird als pdf in die logdatei speichern) nur muss ich ja den standartdrucker wieder setzten dazu muss ich aber wiederrum wissen welcher das ist, wie bekomm ich den raus getdefaultprinter geht nicht, nutze winXP


    ne idee (dialis variante mit der registrie ergibt 47 bei mir muss ich evtl da noch was beachten?


    Dim printer As String
    printer = "FreePDF XP" ' hier Drucker eintragen, es funktionieren auch Netzdrucker
    Dim uiws As New NotesUIWorkspace
    Dim db As NotesDatabase
    Dim session As New NotesSession
    Dim uidoc As NotesUIDocument
    Dim PrinterPathAndName As String

    Dim objNetwork As Variant
    Set db=session.CurrentDatabase
    PrinterPathAndName=printer
    Set objNetwork=CreateObject("WScript.Network") 'aufruf der wscript
    )

    gDp = defprinter 'aktuellen Standartdrucker holen
    objNetwork.SetDefaultPrinter PrinterPathAndName 'neuen Standartdrucker setzen
    Print "Printer changed to " + Cstr(PrinterPathAndName)

    Set uidoc = uiws.EditDocument(True,doc)
    Call uidoc.print(True)
    objNetwork.SetDefaultPrinter gDp 'alten Standart wieder herstellen
    Call uidoc.close(True)

    End Function



    Declare Function GetProfileString Lib "Kernel32" Alias "GetProfileStringA" (Byval lpAppName As String, Byval lpKeyName As String, _
    Byval lpDefault As String, Byval lpReturnedString As String, Byval nSize As Long) As Long


    DefPrinter = Trim(GetProfileString("WINDOWS", "DEVICE", "", String(128, 0), 127))

  • Hallo, der Code für Getdefaultprinter war nicht vollständig:


    Code
    Function GetDefaultPrinter() As String
    	Dim TempName As String
    	Dim DeviceNr As Long
    	TempName = String(1024, 0)
    	DeviceNr = GetProfileString("windows", "device", 0&, TempName, 1024)
    	GetDefaultPrinter = Left(TempName, Instr(TempName, ",") - 1)
    End Function


    Damit funktioniert es bei mir.


    Gruß
    U. Fritz

    • Offizieller Beitrag

    siehe auch hier


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein