Domino 9 und frühere Versionen > ND8: Entwicklung
Standarddrucker auslesen
(1/1)
Thorsten Kalweit:
Hallo zusammen,
wie kann ich per Script den Standarddrucker vom Client auslesen? Ich habe mir bereits verschiedenste Lösungen und Scriptlets angesehen, aber keins führt zum richtigen Ergebnis.
Könnt Ihr mir helfen? (ggf. mit Beispiel)
Peter Klett:
Ich meine, nichts gefunden zu haben, um das direkt in Notes auszulesen, daher gehe ich im Script über Word
Dim winword As Variant
Set winword = CreateObject ("Word.Application")
Dim drucker As String
drucker = winword.Application.ActivePrinter
Vielleicht geht es auch direkter.
Thorsten Kalweit:
Cool, vielen Dank.
So einfach ist das! Die Lösung ist super!
TRO:
... oder aus der Registry auslesen
Function f_sW32GetDefaultPrinter() As String
Dim oWShell As Variant
Dim sRegKey As String
Dim sPrinter As String
Dim vTmp As Variant
Set oWShell = CreateObject( "WScript.Shell" )
sRegKey = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device"
sPrinter = oWShell.RegRead( sRegKey )
'liefert sowas zurück: \\XXX14600\xxxdr4027e,winspool,Ne07:
'jetzt den Printer-Namen extrahieren:
vTmp = Split( sPrinter, "," ) '(0)
sPrinter = vTmp(0)
f_sW32GetDefaultPrinter = sPrinter
'WScript.Echo strPrinter
End Function
hth
Thomas
Christian Weiß:
--- Code: ---Declare Function GetProfileString Lib "kernel32.dll" Alias "GetProfileStringA" ( _
ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long ) As Long
Private Function GetDefaultPrinter() As String
'Get Defaultprinter
Dim strBuffer As String * 254
Dim defaultPrinter As String
defaultPrinter = GetProfileString("windows", "device", ",,,", strBuffer, 254)
GetDefaultPrinter = Left(strBuffer, InStr(strBuffer, ",") - 1)
End Function
--- Ende Code ---
Funktioniert sehr gut.
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln