Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
336to340
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
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Windows Standarddrucker

Windows Standarddrucker
13.11.2003 19:59:57
max
hallo zusammen
wie kann ich per vba den windows standarddrucker rausfinden?
Application.ActivePrinter liefert mir nur den drucker mit dem zuletzt in
exel ausgedruckt wurde.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Solte damit gehen....
13.11.2003 21:02:17
Ramses
Hallo

Probier mal


Option Explicit

Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" _
    (ByVal lpAppName As StringByVal lpKeyName As StringByVal lpDefault As String, _
    ByVal lpReturnedString As StringByVal nSize As LongAs Long
Declare Function GetProfileSection Lib "kernel32" Alias "GetProfileSectionA" _
    (ByVal lpAppName As StringByVal lpReturnedString As StringByVal nSize As LongAs Long

Function GetDefaultPrinter() As String
Dim TempName As String
Dim DeviceNr As Long
TempName = String(1024, 0)
DeviceNr = GetProfileString("windows", "device", 0&, TempName, 1024)
If DeviceNr > 0 Then
    GetDefaultPrinter = Left(TempName, InStr(TempName, ",") - 1)
Else
    GetDefaultPrinter = "No Default Printer"
    'oder zum besseren Testen
    'Achtung: "False" = KEIN Boolean Wert
    'NUR ein String
    '----------
    'GetDefaultPrinter = "False"
End If
End Function 
     Code eingefügt mit Syntaxhighlighter 1.16



Gruss Rainer
Anzeige
Danke!!
13.11.2003 22:47:00
Franz W.
Hallo Rainer,

vielen Dank für diese Lösung, freut mich sehr, danach hab ich nämlich auch schon gesucht und vor einiger Zeit mal hier nachgefragt, es gab aber keine Lösung. Und weil ich hierfür noch keine Umleitung (!) gefunden habe, freut mich das hier sehr :-)))

Vielen Dank und Grüße
Franz
Merci für's Feedback o.T.
13.11.2003 22:53:47
Ramses
....
Bitte um Nachhilfe
17.11.2003 10:53:28
Franz W.
Hallo Rainer,

wollte Deine Lösung jetzt einsetzen, bin aber nicht in der Lage das zu integrieren. Habe versucht die Aufzeichnung des Makrorekorders entsprechend abzuändern, das klappt aber nicht, und ich weiß leider gar nicht in welche Richtung in denken soll. (Poste der Einfachheit halber alles noch mal komplett hier rein, es geht um das letzte Makro:

Option Explicit

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
Declare 

Function GetProfileSection Lib "kernel32" Alias "GetProfileSectionA" _
(ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long

Function GetDefaultPrinter() As String
Dim TempName As String
Dim DeviceNr As Long
TempName = String(1024, 0)
DeviceNr = GetProfileString("windows", "device", 0&, TempName, 1024)
If DeviceNr > 0 Then
GetDefaultPrinter = Left(TempName, InStr(TempName, ",") - 1)
Else
GetDefaultPrinter = "No Default Printer"
'oder zum besseren Testen
'Achtung: "False" = KEIN Boolean Wert
'NUR ein String
'GetDefaultPrinter = "False"
End If
End Function



Sub Standarddrucker()
MsgBox "Der Windows-Standarddrucker ist: " & GetDefaultPrinter, 48
End Sub



Sub Drucken_mit_Standarddrucker()
'    Application.ActivePrinter = "HP LaserJet 4L auf LPT1:"
Application.ActivePrinter = GetDefaultPrinter & "auf LPT1:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
GetDefaultPrinter & "auf LPT1:", Collate:=True
End Sub


Bei der Zeile : Application.ActivePrinter = GetDefaultPrinter & "auf LPT1:" bricht er ab mit der Meldung:
" Die Methode 'ActivePrinter' für das Objekt '_Application' ist fehlgeschlagen."

Vielleicht kannst Du mir noch mal helfen, falls Du "soweit unten" noch mal reinschaust :-))

Grüße
Franz
Anzeige
funktioniert super danke!. o.t.
14.11.2003 08:07:12
max

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige