Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Uwe,
(21.06.2016, 23:56)Kuwer schrieb: schön, aber was wolltest Du mit Deinem Post jetzt konkret sagen?
daß bei snbs Code nichts für mich Verwertbares rauskommt, trotz Screenshot.
Registriert seit: 27.04.2014
Version(en): Privat: Office Home & Business 2019 / Arbeit: MS365
Hallo Ralf, Hallo Uwe,
vielen Dank euch Beiden für die Unterstützung!
Danke an Ralf für den Screenshot, leider kann ich meinen nicht zur Verfügung stellen, da dort die IP-Adressen usw. meiner Firma ersichtlich sind und ich nicht genau weiß
in wie Weit ich das machen darf! :)
Genau so sieht es bei mir auch aus und wie ich oben schon schrieb wird auch der Drucker aufgeführt den ich ansprechen möchte! Dieser wird auch über die Function gefunden aber dann bleibt der Code immer an der gleichen sTelle hängen!
Nachdem Ihr zwei nun auch den Code von snb getestet habt und bestätigt das dieser nicht funktioniert, bin ich ich als Mädchen etwas beruhigt, dachte das liegt an mir! :)
@snb, funktioniert bei dir der Code oder war das ungetestet?
Danke
VG
Alexandra
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Alexandra,
anbei der korrigierte Code. Das Problem war, das der Drucker über das von snb verwendete wsh etwas anders heißt als im Excel. Entsprechend muss der Drucker auch per wsh geändert werden, dann funktioniert es. Meiner hat was mit WF ...
Code:
Function F_findprinter(c01)
Dim wshnetwork As Object, iCnt%
Set wshnetwork = CreateObject("WScript.Network")
Set pr = wshnetwork.EnumPrinterConnections
For iCnt = 0 To pr.Count
If InStr(LCase(pr(iCnt)), LCase(c01)) Then
wshnetwork.SetDefaultPrinter pr.Item(iCnt)
Exit For
End If
Next
End Function
Sub label_druckallgemein()
Dim I As Integer
Dim AltDrucker As String
Dim NeuDrucker As String
AltDrucker = ActivePrinter
' Application.ActivePrinter = F_findprinter("WF") 'Hier den Druckernamen eingeben
F_findprinter "WF"
If Cells(6, 13).Value = "" Then
MsgBox "Bitte Start-Wert angeben"
Exit Sub
End If
If Cells(6, 14).Value = "" Then
MsgBox "Bitte End-Wert angeben"
Exit Sub
End If
For I = Cells(6, 13).Value To Cells(6, 14).Value
X = Cells(8, 14).Value
Cells(19, 6).Value = I
ActiveSheet.PrintOut Copies:=X 'wenn nach jedem hochzählen gedruckt werden sool, dass Hochkomma am Anfang dieser Zeile entfernen
Next I
Application.ActivePrinter = AltDrucker
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 29.09.2015
Version(en): 2030,5
@Schauan
SetDefaultPrinter <> application.activeprinter
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo snb,
ja. Deswegen funktionierts so auch nur per wsh
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 27.04.2014
Version(en): Privat: Office Home & Business 2019 / Arbeit: MS365
Hallo Andre,
funktioniert soweit ganz gut, stellt nach Drucken wieder auf dem alten Drucker zurück, allerdings wird der Etikettendrucker dann als Standarddrucker angehackt!
Nee Idee?
Danke
VG
Alexandra
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Du könntest statt Application.ActivePrinter = ... den alten Drucker mit F_findprinter wiederherstellen.
Siehe auch die Hinweis von snb und mir zu SetDefaultPrinter <> application.activeprinter.
Wenn man es 100%ig machen will müsste man den am Anfang nicht den aktiven Drucker feststellen sondern den Standarddrucker. Es könnte ja auch sein, dass vor dem Makro manuell anderswo gedruckt wurde als auf dem Standarddrucker
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)