DOS-Befehle aus Word aufrufen
Ich muß in einem Makro eine Steuersequenz an den Drucker senden. Dies kann ich in einer Batch-Datei so machen: `ECHO !R! FRPO N6,1;EXIT; > LPT1´. Anstatt in Word-VBA mit `Shell´ die Batch-Datei aufzurufen (die dann ja auch immer irgendwo hinterlegt sein müßte), würde ich gerne direkt den Befehl ausführen lassen.
- Björn Hansen
Ich muß in einem Makro eine Steuersequenz an den Drucker senden. Dies kann ich in einer Batch-Datei so machen: `ECHO !R! FRPO N6,1;EXIT; > LPT1´. Anstatt in Word-VBA mit `Shell´ die Batch-Datei aufzurufen (die dann ja auch immer irgendwo hinterlegt sein müßte), würde ich gerne direkt den Befehl ausführen lassen.
Einen solchen Einzeiler können Sie direkt an den Befehlsinterpreter command. com übergeben, der auch die Batch-Datei ausführen würde:
Sub DosBefehl()
Shell ("command.com /C
ECHO !R! FRPO N6,1;EXIT; > LPT1")
End Sub
Die Option /C bringt command.com dazu, den Befehl auszuführen.
Unter NT heißt der Kommando-Interpreter zwar cmd.exe, aber command.com ist auch noch vorhanden, so daß es keine Versionsprobleme gibt. Wer ganz sicher gehen will, fragt die Umgebungsvariable `Comspec´ ab, die den Namen des Kommando-Interpreters enthält:
Sub DosBefehl()
Dim x
x = Environ("Comspec")
MsgBox (x)
Shell (x & " /C ECHO !R! FRPO N6,1;EXIT; > LPT1")
End Sub
(Alexandra von Cube/je) (ha)