Clever-Excel-Forum

Normale Version: Code anpassen!
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
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.
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
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
@Schauan

SetDefaultPrinter <> application.activeprinter
Hallo snb,

ja. Deswegen funktionierts so auch nur per wsh Sad
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
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
Seiten: 1 2 3