Anzeige
Archiv - Navigation
1172to1176
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

Netzwerkdrucker im Makro an verschiedenen PCs | Herbers Excel-Forum

Netzwerkdrucker im Makro an verschiedenen PCs
25.08.2010 16:58:52
emem2404

Hallo Leute,
ich habe ein Problem mit einem Makro.
Dieses soll ein verstecktes Tabellenblatt 2x auf dem Netzwerkdrucker "xyz123" ausdrucken. Es funktioniert alles wunderbar von meinem PC aus. Von allen anderen PCs im Netzwerk geht es nicht, da der angesteuerter Drucker auf jedem Rechner eine andere Zuweisung hat, also:
Application.ActivePrinter = "\\XY1234\AB987 auf Ne03:" oder ... auf Ne05:" oder ... auf Ne02:" usw., usw.
Sheets("Lieferschein").Visible = True
Sheets("Lieferschein").PrintOut Copies:=2
Sheets("Lieferschein").Visible = False
Ich bräuchte somit erst ein Makro welches herausfindet, wie die Adresse des Druckers \\XY1234\AB987 auf dem gerade verwendeten PC lautet und diese Adresse dann entsprechend verwendet.
Gibt es da Hoffnung für mich???
Vielen Dank schon jetzt!
Gruß
MARTIN

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Netzwerkdrucker im Makro an verschiedenen PCs
25.08.2010 17:07:42
Stevie
Hi Martin,
eine vielleicht stümperhafte Lösung ist mittels Batch-Datei, bin an dem Problem gescheitert und hab es dann so gelöst:
Code:
TaskID = Shell("c:\batch.bat") 'lieg in nem Public-Verzeichnis
Batchdatei:
net use LPT2: \\XY1234\AB987
Damit kannst du dann dein Blatt an LPT2: schicken.
Gruß Stevie
AW: Netzwerkdrucker im Makro an verschiedenen PCs
25.08.2010 17:24:09
emem2404
hmmm, schwierieg!
Ich probiere es aus - kann aber erst am Freitag eine Rückmeldung geben!
Gruß
MARTIN
Hau Ruck Variante
25.08.2010 21:58:30
Ramses
Hallo

Sub PrintEverywhere()
    Dim i As Long
    Dim pString As String
    pString = "\\XY1234\AB987 auf Ne"
    On Error Resume Next
    For i = 1 To 64
        Application.ActivePrinter = "" & pString & Format(i, "00") & ":"
    Next i
    If InStr(1, Application.ActivePrinter, pString) = 0 Then
        MsgBox "Der Drucker: " & pString & " existiert auf diesem Rechner nicht", vbOKOnly, "Fehler"
        Exit Sub
    End If
    On Error GoTo 0
    Sheets("Lieferschein").Visible = True
    Sheets("Lieferschein").PrintOut Copies:=2
    Sheets("Lieferschein").Visible = False
End Sub

Gruss Rainer
Anzeige
AW: Netzwerkdrucker im Makro an verschiedenen PCs
25.08.2010 23:27:36
bst
Abend auch,
Vergiss Application.ActivePrinter und versuche es dafür mal mit dem Parameter ActivePrinter von PrintOut. Da kannst Du den Port einfach weglassen.
Sheets("Lieferschein").PrintOut Copies:=2, ActivePrinter:="\\XY1234\AB987"
cu, Bernd
Cool,... wusste ich auch noch nicht. o.w.T.
25.08.2010 23:57:05
Ramses
...
AW: Netzwerkdrucker im Makro an verschiedenen PCs
26.08.2010 07:42:36
emem2404
Hey klasse!!!
Vielen lieben Dank, es kann doch alles so einfach sein!
Gruß
MARTIN
AW: Netzwerkdrucker im Makro an verschiedenen PCs
27.08.2010 08:51:37
emem2404
Leider hat alles nicht funktioniert:
Bei: Sheets("Lieferschein").PrintOut Copies:=2, ActivePrinter:="\\XY1234\AB987"
kommt die Debug-Fehlermeldung,
und bei dem Makro das nach dem Drucker sucht, kommt die Meldung dass der Drucker .... an Ne nicht vorhanden ist, obwohl er installiert ist.
Hmm zu früh gefreut, hat noch jemand eine Lösung???
Gruß
MARTIN
Anzeige
Logisch....
27.08.2010 10:56:02
Ramses
Hallo
.. die Fehlermeldung. Der Code fängt ja bei 01 an. Wenn da kein Drucker ist, gibts Fehlermeldung
ich hab da was vergessen :-)
Sub PrintEverywhere()
Dim i As Long
Dim pString As String
pString = "\\XY1234\AB987 auf Ne"
Application.displayalerts = false
On Error Resume Next
For i = 1 To 64
Application.ActivePrinter = "" & pString & Format(i, "00") & ":"
Next i
If InStr(1, Application.ActivePrinter, pString) = 0 Then
MsgBox "Der Drucker: " & pString & " existiert auf diesem Rechner nicht", vbOKOnly, " _
Fehler"
Exit Sub
End If
On Error GoTo 0
Application.displayalerts = True
Sheets("Lieferschein").Visible = True
Sheets("Lieferschein").PrintOut Copies:=2
Sheets("Lieferschein").Visible = False
End Sub
Nun sollte es tun :-)
Gruss Rainer
Anzeige
AW: Logisch....
28.08.2010 19:51:16
emem2404
Jippiieehh,
jetzt funzt es!
Vielen Dank!
Gruß
MARTIN

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige