Clever-Excel-Forum

Normale Version: Batch-Datei per VBA aufrufen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
hi, kann ich eine Batch-Datei per VBA aufrufen?

So sieht mein Versuch aus. Aber der macht nix:
Code:
Sub Batchstart()
Dim Pfadname As String
Dim retVal
Pfadname = ActiveWorkbook.Path & "\Starter\test.bat"
retVal = Shell("Pfadname", 1)
End Sub
Code:
Sub M_snb()
    Shell """" & ActiveWorkbook.Path & "\Starter\test.bat"""
End Sub
Danke, so funktioniert es jetzt bei mir:
Code:
Dim Pfadname As String
Dim Dateiname As String
Dateiname = Worksheets("Rech").Range("B34")
Pfadname = ActiveWorkbook.Path & "\Starter\"
TaskID = Shell(Pfadname & Dateiname, vbMaximizedFocus)

Kann ich irgendwie sehen, was VBA in die Variablen füllt?
Hallo Julia,

Zitat:Kann ich irgendwie sehen, was VBA in die Variablen füllt?

... wenn Du Deine Variablen in einer MsgBox ausgeben läßt, sollte das ganz einfach möglich sein.
(18.06.2018, 21:08)o0Julia0o schrieb: [ -> ]Kann ich irgendwie sehen, was VBA in die Variablen füllt?

Moin!
Alternativen zur MsgBox:
Öffne per Ansicht, Lokalfenster ein Fenster, welches die Werte der Variablen zur Laufzeit auswirft.
Je nach Code steppt man ihn entweder mittels F8 per Einzelschritt durch
oder setzt zunächst Haltepunkte und steppt mittels F5
(Alternative: zum testen jeweils ein Stop in den Code einfügen)

Deine Variable TaskID ist nicht deklariert!
Was stellst Du mit dem Wert an?

Gruß Ralf
Thxinks euch!

TaskID hatt ich falsch verstanden, habs jetzt durch Call ersetzt :)


Stimmt - per MsgBox ginge das ja.

Ich bemerke jedoch einen Unterschied zwischen der MsgBox Ausgabe und der Lokalen Fenster Ausgabe.

Bei Messagebox steht der Pfad & Dateiname als solcher kombiniert da - wie gewünscht. Es funktioniert ja auch.

In der Lokalen Fenster Ausgabe, steht sowohl der Pfad als auch Der Dateiname in Anfürungszeichen. Jeweils. So ist es ja eigentlich falsch.

Was ich herausfinden wollte ist, wie es sich mit Leerzeichen im Pfadnamen verhält. Werden diese durch Excel gesamt gerahmt mit Anführungszeichen?

Also z.b.:
"D:\Daten\test1.bat"
oder
D:\Daten\test1.bat

Was ja hier interessant wäre:
"D:\Kinder Daten\test.1bat"
Hi,

doppelte "" bei Leerzeichen
siehe

https://www.ms-office-forum.net/forum/sh...p?t=254664

im Link ist auch 
noch eine Alternative zu shell z.B über WSscript
Jo, danke. Aber macht VBA das jetzt automatisch mit Anführungszeichen mit meinem Code?


Code:
Dim Pfadname As String
Dim Dateiname As String
Dateiname = Worksheets("Rech").Range("B34")
Pfadname = ActiveWorkbook.Path & "\Starter\"
TaskID = Shell(Pfadname & Dateiname, vbMaximizedFocus)

Msg-Box und Lokale Fenster zeigen es ja unterschiedlich an. Daher bin ich mir unsicher, ob die Pfadumschließenden Anführugnszeichen automatisch von VBA gesetzt werden oder nicht.
Hi,

wenn du es so machst, wie es auch schon snb geschrieben hat, bist du auf der sicheren Seite!
Sicher, aber ich muss mit Variablen arbeiten.
Seiten: 1 2