Registriert seit: 08.07.2016
Version(en): 2016
18.06.2018, 19:43
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
Registriert seit: 29.09.2015
Version(en): 2030,5
Code:
Sub M_snb()
Shell """" & ActiveWorkbook.Path & "\Starter\test.bat"""
End Sub
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:1 Nutzer sagt Danke an snb für diesen Beitrag 28
• o0Julia0o
Registriert seit: 08.07.2016
Version(en): 2016
18.06.2018, 22:08
(Dieser Beitrag wurde zuletzt bearbeitet: 18.06.2018, 22:08 von o0Julia0o.)
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?
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
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.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
19.06.2018, 06:44
(Dieser Beitrag wurde zuletzt bearbeitet: 19.06.2018, 06:51 von RPP63.)
(18.06.2018, 22: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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• o0Julia0o
Registriert seit: 08.07.2016
Version(en): 2016
19.06.2018, 10:33
(Dieser Beitrag wurde zuletzt bearbeitet: 19.06.2018, 10:33 von o0Julia0o.)
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"
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi,
doppelte "" bei Leerzeichen
siehe
https://www.ms-office-forum.net/forum/sh...p?t=254664im Link ist auch
noch eine Alternative zu shell z.B über WSscript
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• o0Julia0o
Registriert seit: 08.07.2016
Version(en): 2016
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.
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi,
wenn du es so machst, wie es auch schon snb geschrieben hat, bist du auf der sicheren Seite!
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• o0Julia0o
Registriert seit: 08.07.2016
Version(en): 2016
Sicher, aber ich muss mit Variablen arbeiten.