Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
516to520
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
516to520
516to520
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Drucker auswählen

Drucker auswählen
18.11.2004 16:44:18
Rudolf
Hallo Excel-Gemeinde,
an dem PC sind zwei Drucker angeschlossen. Ein Drucker ist natürlich als Standarddrucker eingestellt. Ein Klick auf das Druckersymbol in der Symbolleiste bewirkt dann den Druck der Excel-Tabelle. Ab und zu möchte ich aber auch einen Druck auf den anderen Drucker vornehmen. Dann muss ich umständlich das Menü Datei - Drucken - anderen Drucker auswählen - OK aufrufen.
Wie kann ich erreichen, dass in der Symbolleiste ein weiteres Symbol für einen Drucker erscheint, dem ich dann den anderen Drucker zuordne, so dass ich dann nur das entsprechende Symbol anklicken brauche, um den Druck auf den einen oder den anderen Drucker vorzunehmen?
Gruss
Rudolf

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucker auswählen
18.11.2004 17:33:55
GraFri
Hallo
Folgenden Code in ein Modul. Makro einem Button zuordnen.


      
' In ein Modul
'-------------------------------------------------------------------------------------

Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" _
(
ByVal lpszSection As StringByVal lpszKeyName As String, _
ByVal lpszString As StringAs Long
Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" _
(
ByVal lpAppName As StringByVal lpKeyName As String, _
ByVal lpDefault As StringByVal lpReturnedString As StringByVal nSize As LongAs Long
Declare Function SendMessage Lib "User32" Alias "SendMessageA" _
(
ByVal hWnd As LongByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Public Const HWND_BROADCAST = &HFFFF&
Public Const WM_WININICHANGE = &H1A
Dim DruckerName As String
Sub Ausdrucken()
' Drucker wechseln (als Standarddrucker setzen)
  Call Drucker_Wechseln("OKIPAGE 10ex")
' 1. Tabellenblatt ausdrucken
  Sheets(1).PrintOut
' Standarddrucker
 Call Drucker_Wechseln("hp deskjet 990c")
End Sub
Sub Drucker_Wechseln(DruckerName As String)
    SetDefaultPrinter DruckerName
End Sub
Public Function SetDefaultPrinter(PrName As String)
' Parameter: Druckername
' Rückgabewert: Erfolg der Aktion

Dim Buffer As String, RW, Tmp As String
On Error GoTo Er
Buffer = 
String(255, 0)
RW = GetProfileString(
ByVal "devices", ByVal PrName, ByVal "", Buffer, Len(Buffer))
If RW <= 0 Then
    SetDefaultPrinter = 
False
    
Exit Function
Else
    Tmp = PrName & "," & Mid(Buffer, 1, RW)
End If
' Standarddrucker setzen
RW = WriteProfileString(ByVal "Windows", ByVal "Device", ByVal Tmp)
If RW <> 1 Then
SetDefaultPrinter = 
False
Exit Function
End If
' und mitteilen, daß sich die WIN.INI geändert hat
RW = SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0&, 0&)
SetDefaultPrinter = 
True
Ex:
Exit Function
Er:
MsgBox "SetDefaultPrinter: " & Err.Description
SetDefaultPrinter = 
False
Resume Ex
Mit freundlichen Grüßen, GraFri
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige