Anzeige
Archiv - Navigation
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Drucker wechseln

Drucker wechseln
23.10.2007 11:16:02
M
Hallo zusammen,
ich möchte den Drucker wechseln. Ich mache dies wie folgt.
Application.ActivePrinter = "Druckername"
Das funktioniert bei mir aber nicht. Es wird wie gehabt auf den standarddrucker gedruckt.
Gibt es eine andere Möglichkeit....?
..Oder was mache ich falsch...?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucker wechseln
23.10.2007 12:00:00
M
Hallo nochmal...
Ich habe festgestellt das, wenn ich alle installierten Drucker aus der Registry auslese ich die richtigen Druckerbezeichnungen bekomme.
Wenn ich aber über Application.ActivePrinter den Drucker auslese bekomme ich die Druckerbezeichnung und dahinter noch " auf LPT 1". Aus diesem Grung kann ich auch den Drucker nicht umstellen.... Würde ich "auf LPT 1" meinem Drucker anfügen ginge es....
Nun meine Frage wie kann ich alle installierten Drucker "nach Excelstandard" auslesen..? Denn ich kann nicht überall auf LPT 1 anhägen... Was ist wenn LPT 2 oder USB eingestellt ist....
Hat noch jemand eine Idee wie ich mein Problem lösen kann...
Bin für jede Hilfe dankbar...

Anzeige
AW: Drucker wechseln
23.10.2007 12:16:00
IngGi
Hallo M Merlin,
folgenden Code habe ich mir mal aus dem Internet - ich glaube sogar aus diesem Forum hier - kopiert. Damit lassen sich alle Druckeranschlüsse auf einem PC auslesen und in ein Tabellenblatt ausgeben:

Option Explicit
Declare Function GetProfileString Lib "kernel32" Alias _
"GetProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As String, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Function PrinterList(Optional PrinterNr As Integer = -1)
Dim i%, n%, lRet&, sBuf$, sOn$, sPort$, aPrn
Const lSize& = 1024, sKey$ = "devices"
aPrn = Split(Excel.ActivePrinter)
sOn = " " & aPrn(UBound(aPrn) - 1) & " "
sBuf = Space(lSize)
lRet = GetProfileString(sKey, vbNullString, vbNullString, sBuf, lSize)
If lRet = 0 Then Exit Function
aPrn = Split(Left(sBuf, lRet - 1), vbNullChar)
For n = LBound(aPrn) To UBound(aPrn)
sBuf = Space(lSize)
lRet = GetProfileString(sKey, aPrn(n), vbNullString, sBuf, lSize)
sPort = Mid(sBuf, InStr(sBuf, ",") + 1, lRet - InStr(sBuf, ","))
aPrn(n) = aPrn(n) & sOn & sPort
Next
'  qSort aPrn
If PrinterNr = -1 Then PrinterList = aPrn Else PrinterList = aPrn( _
PrinterNr)
End Function
Public Sub qSort(v, Optional n& = True, Optional m& = True)
Dim i&, j&, p, t
If n = True Then n = LBound(v): If m = True Then m = UBound(v)
i = n: j = m: p = v((n + m) \ 2)
While (i  p And j > n): j = j - 1: Wend
If (i 

Gruß Ingolf

Anzeige
AW: Drucker wechseln
23.10.2007 12:50:00
M
OK.
Danke das hat funktioniert...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige