Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Code anpassen!
#11
(20.06.2016, 11:01)snb, Na geh... ::) guck mal, das habe ich doch schon probiert, siehe unten! cysu11 schrieb: Hallo Andre,


die Function funktioniert, der Code findet den Drucker (habe das in Einzelschrift mit F8 getestet) und springt auf End Function.
Dann bleibt aber der code immer an der Stelle stehen:

     Application.ActivePrinter = F_findprinter("Zebra") 'Hier den Druckernamen eingeben

Fehlermeldung:

Laufzeitfehler 1004. Die Methode Activeprinter  für das Objekt Application ist fehlgeschlagen!

Was kann das sein?


Vielen Dank im Voraus
Alexandra
Antworten Top
#12
Dann zeig doch mal das Ergebnis von:


Code:
Sub_snb()
  For Each pr In CreateObject("Wscript.network").EnumPrinterConnections
    c00 =c00 & vblf & pr
  Next
 
   msgbox c00
End Sub
Antworten Top
#13
Hallo Alexandra,

teste es mal so:

Code:
Sub label_druckallgemein_Kuwer()
 Dim i As Integer
 Dim AltDrucker As String
 
 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
 
 AltDrucker = Application.ActivePrinter
 
 'hier den Drucker so eintragen wie er im Auswahldialog
 '"Application.Dialogs(xlDialogPrinterSetup).Show" steht
 'ohne das hintere z.B. "auf Ne04:"
 'die abschließende Tilde ( ~ ) bewirkt die automatische Bestätigung im Auswahldialog
 SendKeys "Brother MFC-9340CDW Printer~"
 
 If Application.Dialogs(xlDialogPrinterSetup).Show Then
   'MsgBox "Drucker """ & Application.ActivePrinter & """ wurde ausgewählt."
   For i = Cells(6, 13).Value To Cells(6, 14).Value
     x = Cells(8, 14).Value
     'If i < 10 Then
       'Cells(19, 8).Value = i
       'ActiveSheet.PrintOut 'wenn nach jedem hochzählen gedruckt werden sool, dass Hochkomma am Anfang dieser Zeile entfernen
     'Else
       Cells(19, 6).Value = i
       ActiveSheet.PrintOut Copies:=x 'wenn nach jedem hochzählen gedruckt werden sool, dass Hochkomma am Anfang dieser Zeile entfernen
     'End If
   Next i
   Application.ActivePrinter = AltDrucker
 End If
End Sub

Gruß Uwe
Antworten Top
#14
(21.06.2016, 13:24)snb schrieb: Dann zeig doch mal das Ergebnis von:


Code:
Sub_snb()
  For Each pr In CreateObject("Wscript.network").EnumPrinterConnections
    c00 =c00 & vblf & pr
  Next
 
  msgbox c00
End Sub


Hallo snb,


diese Code läuft durch und mir werden sämtliche Drucker angezeigt die bei mir am PC eingerichtet sind unter anderen auch der Drucker auf dem mein Code drucken soll:

IP_10.10.10.101
\\xxxxxxxxxxx\yyyyyyyyyy



Und nun?


VG
Alexandra
Antworten Top
#15
Hallo Uwe,


dein Code läuft durch allerdings wählt er mir immer den in der Liste nächsten Drucker aus, wenn ich aber den FreePDF in den Code schreibe, dann wählt er tatsächlich auch den FreePDF aus nur bei meinen Netzwerkdrucker springt der Code auf "Fax" ????


Ich habe jetzt einen anderen Ansatz gefunden diese funktioniert auch allerdings ist auch hier ein Problem wo ich nicht weiter komme:

Code:
Sub DruckTest()
Dim printerError As String, printerName As String
Dim port As Integer, MeinDrucker As String
MeinDrucker = Application.ActivePrinter
printerError = True
On Error Resume Next
For port = 0 To 20
printerName = "\\xxxxxxxxxxx\yyyyyyyyyyy auf Ne0" & port & ":"
Err.Clear
Application.ActivePrinter = printerName
If Err.Number = 0 Then printError = False: Exit For
Next
On Error GoTo 0
If printError Then
MsgBox "Kein Druckerport für \\xxxxxxxxxxx\yyyyyyyyyyy gefunden!"
Exit Sub
End If


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
       'If i < 10 Then

       'Cells(19, 8).Value = i
       'ActiveSheet.PrintOut 'wenn nach jedem hochzählen gedruckt werden sool, dass Hochkomma am Anfang dieser Zeile entfernen
'Else
        Cells(19, 6).Value = i
        ActiveSheet.PrintOut Copies:=x 'wenn nach jedem hochzählen gedruckt werden sool, dass Hochkomma am Anfang dieser Zeile entfernen

' End If
   Next i



Application.ActivePrinter = MeinDrucker

End Sub
Das Problem der Code läuft für die Ports Ne00 bis Ne09 ohne Probleme aber wenn es Ne10 und weiter ist, dann funktioniert das nicht mehr den dann macht der Code Ne010 daraus!
Wie kann ich das Problem beheben, wie gesagt sonst funktioniert es ohne Probleme!
Vielen lieben Dank
VG
Alexandra
Antworten Top
#16
Hallo Alexandra,

PrinterName = "\\xxxxxxxxxxx\yyyyyyyyyyy auf Ne" & Format(port, "00:")

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • cysu11
Antworten Top
#17
(21.06.2016, 15:03)cysu11 schrieb:
(21.06.2016, 13:24)snb schrieb: Dann zeig doch mal das Ergebnis von:


Code:
Sub_snb()
  For Each pr In CreateObject("Wscript.network").EnumPrinterConnections
    c00 =c00 & vblf & pr
  Next
 
  msgbox c00
End Sub


Hallo snb,


diese Code läuft durch und mir werden sämtliche Drucker angezeigt die bei mir am PC eingerichtet sind unter anderen auch der Drucker auf dem mein Code drucken soll:

IP_10.10.10.101
\\xxxxxxxxxxx\yyyyyyyyyy



Und nun?


VG
Alexandra

Es scheint überirdisch schwer meine Frage exakt zu beantworten.
Mit xxx/yyy kann niemand etwas anfangen.
Erstelle mal ein 'Screenshot'
Antworten Top
#18
Hallo snb,

auch wenn Du es nicht glauben willst: Dein Code funktioniert nicht!

Gruß Uwe
Antworten Top
#19
Hi,

(21.06.2016, 20:22)snb schrieb: Erstelle mal ein 'Screenshot'

bei mir daheim kommt das:
   

In der Firma im Netzwerk sieht es ähnlich aus, dort sind es ebenfalls keine vollständigen Angaben.
Antworten Top
#20
Hi Ralf,

schön, aber was wolltest Du mit Deinem Post jetzt konkret sagen?

snb ist in der Pflicht, auch wenn er das nicht einsieht.
Sein Code, zumindest der Teil/die Zeile mit der Neuzuweisung des aktiven Druckers, ist Mist.
Daran ändert auch Andrés Versuch, das schön in Alexandras Makro rein zupacken, nichts.

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste