Autor Thema: Standarddrucker auslesen  (Gelesen 2646 mal)

Offline Thorsten Kalweit

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Standarddrucker auslesen
« am: 31.03.15 - 15:07:27 »
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)
Viele Grüße
Thorsten

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Standarddrucker auslesen
« Antwort #1 am: 31.03.15 - 15:20:15 »
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.

Offline Thorsten Kalweit

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re: Standarddrucker auslesen
« Antwort #2 am: 31.03.15 - 15:32:43 »
Cool, vielen Dank.

So einfach ist das! Die Lösung ist super!
Viele Grüße
Thorsten

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Standarddrucker auslesen
« Antwort #3 am: 31.03.15 - 16:05:21 »
... 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

Offline Christian Weiß

  • Junior Mitglied
  • **
  • Beiträge: 61
  • Geschlecht: Männlich
Re: Standarddrucker auslesen
« Antwort #4 am: 10.04.15 - 16:22:38 »
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




Funktioniert sehr gut.
Gruß

Christian

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz