Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1048to1052
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Batch-Datei per Makro starten

Batch-Datei per Makro starten
10.02.2009 22:51:00
Horst
Hallo zusammen!
Wie kann ich eine .bat-Datei (batch-Datei) über ein Excel Makro starten? Mit "Shell" funktionieren ja nur ausführbare Programme (.exe-Dateien)? Hat wer damit Erfahrung?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Batch-Datei per Makro starten
10.02.2009 22:56:44
Nepumuk
Hallo Horst,

Mit "Shell" funktionieren ja nur ausführbare Programme (.exe-Dateien)?


wer behauptet das?

Public Sub test()
    Shell "D:\Eigene Dateien\BAT\tree.bat"
End Sub

Gruß
Nepumuk
Anzeige
Shell "C:\temp\Helloworld.bat", vbNormalFocus
10.02.2009 23:00:00
NoNet
Hallo Horst,
wer behauptet denn, dass man per SHELL() nur EXE-Dateien ausführen kann ?
Man kann sehr wohl BAT-Dateien ausführen :
Shell "C:\temp\Helloworld.bat", vbNormalFocus
Ausserdem könnte man über die CMD.EXE ebenfalls eine BAT ausführen :
Shell "cmd.exe /C C:\temp\Helloworld.bat", vbNormalFocus
Gruß, NoNet
AW: Shell "C:\temp\Helloworld.bat", vbNormalFocus
10.02.2009 23:15:06
Horst
Also bei mir funktioniert's nicht! Keine Ahnung, warum. Weder Variante 1 noch über die cmd.exe (obwohl ein ganz kurzes Öffnen der cmd sichtbar wird)
Inhalt der .bat-Datei:
copy _automat.dat automate.dat
Wenn ich die .bat-Datei direkt anklicke, bekomme ich eine Kopie der .dat-Datei. Über VBA tut sich nichts!
WARUM?
Was muss ich in VBA angeben, wenn ich eine Verknüpfung öffnen will? Das geht bei mir mit "Shell ..." auch nicht. Wofür steht nochmal vcNormalFocus?
Anzeige
Beinhaltet der Name der Batchdatei LEERZEICHEN ?
10.02.2009 23:38:00
NoNet
Hallo horst,
ich könnte mir vorstellen, dass der Name der Batchdatei Leerzeichen beinhaltet !?!?
Dann lautet die Version per CMD.EXE so :
Shell "cmd.exe /C " & """C:\temp\Hello World.bat""", vbNormalFocus
Falls das nicht klappt : Poste doch bitte mal Deinen SHELL-Aufruf !
Das Argument vbNormalFocus bewirkt lediglich, dass das BATCH-Fenster in den Vordergrund rückt und somit sichtbar wird (und nicht hinter dem Excel-Fenster "unsichtbar" bleibt).
Gruß, NoNet
AW: Shell "C:\temp\Helloworld.bat", vbNormalFocus
11.02.2009 08:55:00
bst
Morgen auch,
Du gehst von falschen Voraussetzungen aus.
Shell "e:\test\xyz.bat"
startet zwar die Batchdatei im Verzeichnis e:\test, wechselt aber keinesfalls dorthin.
Das Verzeichnis von dem heraus gestartet wird ist CurDir, d.h. Du brauchst entweder Pfadangaben bei deinen Dateinamen oder musst in der Batch Laufwerk und Pfad wechseln.
Starte mal so eine Batchdatei, dann siehst Du das:
cd
pause
cu, Bernd
Anzeige
AW: Shell "C:\temp\Helloworld.bat", vbNormalFocus
11.02.2009 10:11:00
Horst
Besten Dank Euch allen! Das war der entscheidende Tipp. Und wie starte ich dann eine Verknüpfung? Auch mit Shell und .lnk?
AW: Batch-Datei per Makro starten
10.02.2009 23:43:00
Tino
Hallo,
versuche es mal hiermit,
damit starte ich auch immer VBS Skripte, sollte mit Batch Dateien auch gehen.
Private Declare Function ShellExecute _
  Lib "shell32.dll" Alias "ShellExecuteA" ( _
  ByVal hWnd As Long, _
  ByVal Operation As String, _
  ByVal Filename As String, _
  Optional ByVal Parameters As String, _
  Optional ByVal Directory As String, _
  Optional ByVal WindowStyle As Long = vbMinimizedFocus _
  ) As Long

Sub Start()
 ShellExecute 0, "Open", "c:\test.bat", , , 1
End Sub


Gruß Tino

Anzeige
AW: Batch-Datei per Makro starten
11.02.2009 10:27:00
Horst
SUPER! Auf diese Weise lassen sich sogar Verknüpfungen starten. Allerbesten Dank!

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige