Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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
Inhaltsverzeichnis

Standarddrucker wechseln

Standarddrucker wechseln
Markus
Guten Tag,
leider habe ich zu meinem Wunsch im Forum nichts gefunden,
bzw. das "Gefundene" funtkionierte nicht.
Ich möchte mit einem Makro den Standard-Drucker wechseln.
Weiss jemand eine Lösung.
Jetzt schon bedanke ich mich für eine Hilfe.
Markus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Standarddrucker wechseln
27.05.2010 08:26:36
Tino
Hallo,
teste mal ob es funktioniert.
Sub Drucker_Test()
Dim sPrinter As String

Application.Dialogs(xlDialogPrinterSetup).Show

sPrinter = ActivePrinter

If Standard_Drucker(sPrinter) Then
    MsgBox "Drucker umgestellt auf:" & vbCr & sPrinter, vbInformation
Else
    MsgBox "Fehler aufgetreten!", vbCritical
End If

End Sub

Function Standard_Drucker(ByRef sPrinterName As String) As Boolean
Dim objWSHNetwork As Object

On Error GoTo ErrorH:

Set objWSHNetwork = CreateObject("WScript.Network")
sPrinterName = Left$(sPrinterName, InStr(sPrinterName, " auf") - 1)

objWSHNetwork.SetDefaultPrinter sPrinterName
Standard_Drucker = True

ErrorH:
Set objWSHNetwork = Nothing
End Function
Gruß Tino
Anzeige
Kleiner Optimierungsvorschlag
27.05.2010 08:42:44
Martin
Hallo Tino,
wenn ich auf Abbrechen klicke, zögert das Makro bei mir ein wenig. Das hängt (glaube ich) damit zusammen, dass die Zuweisung des Standarddruckers trotzdem erfolgt (auch wenn eigentlich nichts geändert wird) und dies bei Laserdruckern etwas länger dauert. Deshalb habe ich eine Abfrage eingebaut, ob "Abbrechen" geklickt wurde.
Viele Grüße
Martin
Option Explicit
Sub Drucker_Test()
Dim sPrinter As String
If Application.Dialogs(xlDialogPrinterSetup).Show = False Then Exit Sub
sPrinter = ActivePrinter
If Standard_Drucker(sPrinter) Then
MsgBox "Drucker umgestellt auf:" & vbCr & sPrinter, vbInformation
Else
MsgBox "Fehler aufgetreten!", vbCritical
End If
End Sub

Function Standard_Drucker(ByRef sPrinterName As String) As Boolean
Dim objWSHNetwork As Object
On Error GoTo ErrorH:
Set objWSHNetwork = CreateObject("WScript.Network")
sPrinterName = Left$(sPrinterName, InStr(sPrinterName, " auf") - 1)
objWSHNetwork.SetDefaultPrinter sPrinterName
Standard_Drucker = True
ErrorH:
Set objWSHNetwork = Nothing
End Function

Anzeige
Kein Problem, ...
27.05.2010 08:56:14
Tino
Hallo,
unter welchem Betriebssystem hast Du getestet, bei mir ist es Windows 7.
Gruß Tino
AW: Kein Problem, ...
27.05.2010 09:12:24
Martin
Hallo Tino,
da hinke ich ziemlich hinterher: Windows XP SP3
Ich verwende Excel 2003 SP3.
Viele Grüße
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige