Wie mache ich einen Druckbefehl in VBA!

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Label
Bild

Betrifft: Wie mache ich einen Druckbefehl in VBA! von: Grevi
Geschrieben am: 10.03.2005 08:02:20

Hi Leute!

So manche von euch haben mir ja gestern schon super gut weitergeholfen! Hat auch alles bestens geklappt! Nun ist das Problem, das ich annehme, das mein Druckbefehl vllt. falsch sein könnte!

Shell (Environ$("COMSPEC") & " /c " & "rsh k100 -l tbnw -n lp -dbar1 /tmp/barcode/barcode.txt")

Manche von euch wussten da nicht weiter! Ewtl gibt es ja noch andere Spezialisten! Wie sieht den ein normaler Druckbefehl in VBA aus? Vllt bringt mich das ja schon weiter!

MfG Grevi

Bild


Betrifft: AW: Wie mache ich einen Druckbefehl in VBA! von: UweD
Geschrieben am: 10.03.2005 10:12:23

Hallo nochmal


die Sache hat mich nicht losgelassen und ich hab noch mal weiter überlegt...


Das ist kein "Normaler" Druckbefehl

Ohne deine Anlage zu kennen, vermute ich folgenden Aufbau (bitte korregieren wenn ich falsch liege)

Du hast eine Extra PC mit angeschlossenen Etikettendrucker, auf dem Barcodelabel ausgegeben werden.

Dieser PC ist im Netz unter dem Namen "K100" erreichbar.
Der zugelassene Benutzername ist "tbnw"

auf dem Rechner gibt es ein Spezialprogramm "lp" (so wird es scheinbar gestartet / kann aber auch eine lp.BAT Datei sein).
Beim Aufruf werden 2 Parameter übergeben
- dbar1 (vermute die Art des Barcodes)
- /tmp/barcode/barcode.txt (ist die Datei, die als Barcode ausgedruckt werden soll / das ist die, die mit dem ersten Shellbefehl hierhin kopiert wurde)


Das ganze wird mit Hilfe der RSH -Remotefunktion durch den Shellbefehl in der Dosumgebung aus der Ferne (eben von deinem Rechner) auf dem anderen PC ausgeführt.

...

In deinem früheren Beitrag schreibst du, das das für eine andere Anwendung das alles funktioniert. Dann sollte das hier auch klappen.


Hast du denn mal meinen Vorschlag geprüft, ob das /Y im ersten Shellbefehl eine Verbesserung bringt?

Shell (Environ$("COMSPEC") & " /c " & "Copy c:\temp\barcode.txt \\k100\temp\barcode /Y") dadurch wird bei jedem durchlauf die vorhandenen Datei überschrieben.


Das ganze ist so aus der Ferne nicht zu testen.


Gruß UweD


Bild


Betrifft: AW: Wie mache ich einen Druckbefehl in VBA! von: Grevi
Geschrieben am: 10.03.2005 11:18:02

Hi Uwe!!

Also habe das mal ausprobiert! Dann läuft er zwar alle Durchgänge durch, aber irgendwie kommt nichts am Drucker raus! KA woran das jetzt liegt!

MfG Grevi


Bild


Betrifft: Hilfe, DOS Experten dringend gesucht !!!! von: Volker
Geschrieben am: 10.03.2005 11:44:00

Hallo Grevi und Uwe,

leider bin ich es nur und nicht der ersehnte Experte.
Ich hab mal nach "COMSPEC" gegoogelt, und erfahren, dass das eine Art Aufruf der command.com ist.
Ev. muß man den Befehlsinterpreter, irgendeinen Prozeß oder eine task erst beenden bevor man ihn erneut ausführt.
Etwas vage, aber ev. ausbaufähig.

Gruß
Volker


Bild


Betrifft: AW: Hilfe, DOS Experten dringend gesucht !!!! von: Grevi
Geschrieben am: 10.03.2005 12:36:36

HI Volker!!

Also ich verstehe nicht ganz was du meinst! Kannst du das vllt noch mal probieren etwas einfach zu erklären, das ich das dann vllt auch verstehe!

Wäre super! Schon mal danke für deine Recherche!

MfG Grevi


Bild


Betrifft: AW: Hilfe, DOS Experten dringend gesucht !!!! von: UweD
Geschrieben am: 10.03.2005 13:55:56

Ich versuch es nochmal...


Shell (Environ$("COMSPEC") & " /c " & "rsh k100 -l tbnw -n lp -dbar1 /tmp/barcode/barcode.txt") meint


shell(..) meint, das excel einen Befehl an das Betriebssystem schicken soll

Environ$("COMSPEC") ist das gleiche was du wie folgt manuell machen kannst (Start, Ausführen, cmd (eingeben), ok) >> es wird ein Dosfenster geöffnet
durch das /c wird das aber im Hintergrund gemacht.


wenn das "Dosfenster" da ist, wird der Dosbefehl rsh ausgeführt..

Ist wie schon beschrieben um auf einem anderen HOST ein Programm ablaufen zu lassen.
der Hostrechner hat den Namen K100

Der Benutzer der an diesem Host berechtigt ist heißt tbnw (wird durch den Parameter -l ausgedrückt)

der Parameter -n Leitet die Eingabe nach NUL um. (Wenn ich es richtig verstanden habe die Konsole selbst)

jetzt folgt die Befehlsfolge , die am host wirken soll.. Also das, was der Benutzen an dem Hostrechner eingeben würde, um dort einen Befehl abzusetzen.

In dem Fall wäre das.. lp -dbar1 /tmp/barcode/barcode.txt

Und das versteh ich so, das der Startaufruf LP ist mit den beiden Parametern
-dbar1 und
/tmp/barcode/barcode.txt


so viel zur Erklärung..


Jetzt noch was zum testen:

mach es wirklich mal händisch..

Start, Ausführen, cmd eingeben, ok

jetzt den kompl. Befehl eintragen (von hier kopieren)

rsh k100 -l tbnw -n lp -dbar1 /tmp/barcode/barcode.txt


was kommt denn jetzt im Dosfenster als Rückmeldung??


Gruß Uwe


Bild


Betrifft: AW: Hilfe, DOS Experten dringend gesucht !!!! von: Volker
Geschrieben am: 10.03.2005 14:55:15

Hallo Grevi,

das googeln hatte ich Dir aber gestern auch schon vorgeschlagen.
Zur Erklärung meines (Un)rats:

Im Startmenü befindet sich doch der Ausführen-Befehl, der die command.com (?) öffnet,
also den "DOS-Interpreter" unter windows.
Was wir nun durch Uwe wissen ist, dass dein ominöser Shell-Befehl auf irgendeinem Hostrechner quasi diesen Button betätigt und dann den Druckbefehl losschickt.
Versucht man lokal, den Interpreter 2mal zu öffnen geht das nicht.
Vllt hast Du den ähnlichen Effekt, dh. Dir fehlt irgendein "quit"-Befehl, bevor Du den nächsten Druck losschicken kannst.
Wie gesagt, reine Spekulation.

Gruß
Volker


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Blatt als CSV speichern und zurück"