Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1184to1188
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

Aufruf eines Programms mit Parametern aus VBA

Aufruf eines Programms mit Parametern aus VBA
Holger
Hallo und Guten Morgen Forum,
bislang verwende ich eine BATCH Datei, um eine SQL Abfrage mittels AQT (Advanced Query Tool) zu starten. Da ich nun die SQL Datei automatisch per VBA erzeuge, würde ich gerne auf die Batch Datei verzichten und das Programm direkt aus VBA aufrufen.
In der Batch Datei ist der Aufruf simpel, das Programm und die SQl Abfragedatei als Parameter.
In VBA funktioniert das nicht, gibt es eine Möglichkeit, dies per VBA aufzurufen.
"C:\Programme\Advanced Query Tool\aqt.exe" GetPublishesTelecom.sql
AW: Aufruf eines Programms mit Parametern aus VBA
15.11.2010 13:07:39
Andi
Hallo Holger,
die Möglichkeit gibt es.
http://www.vbarchiv.net/commands/cmd_shell.html
Um eine .exe, .com, .bat oder .pif zu starten reicht die VB-Eigene Funktion "Shell", um aber auch andere Dateien öffnen zu können, brauchst du die API "ShellExecute"
Ich hoffe, das war das, was du gesucht hattest.
Gruß Andi
Parameter geht nicht :(
15.11.2010 13:27:39
Holger
Hi Andi,
das hatte ich auch schon, esklappt nur leider mit der Parameterübergabe nicht.
Das programm selber wird geöffnet, aber wenn ich einen Parameter hinzufüge,
erscheint zwar keine Fehlermeldung, es passiert aber auch rein gar nix.
Hast du noch eine Idee?
Sub Sonicht
Set objShell = CreateObject("Shell.Application")
strSQLFile = strHomePath & "\aqt.exe"
objShell.ShellExecute strSQLFile, "", "GetPublishesTelecom.sql", "open", 1
End Sub

Anzeige
AW: Aufruf eines Programms mit Parametern aus VBA
15.11.2010 13:43:36
Rudi
Hallo,
normalerweise sollte
Shell "C:\Programme\Advanced Query Tool\aqt.exe GetPublishesTelecom.sql"
funktionieren.
Shell "notepad.exe c:\test\test.txt" klappt jedenfalls.
Gruß
Rudi
Leider nein
15.11.2010 13:55:27
Holger
Hi Rudi,
genau das klappt leider nicht!
Vielleicht liegt es am AQT, aber in der Bat datei steht der Programmaufruf
in Anführungszeichen und danach ohne der Parameter.
Aber auch wenn ich mir einen String bastele, der genau so aussieht,
klappt es nicht.
Noch eine Idee? Ist echt zum Verzweifeln. ShellExecute hilft mir wohl nicht,
da hier der Dateityp bekannt sein müßte.
Anzeige
Hast du schon mal versucht,..
15.11.2010 13:59:01
Rudi
Halllo,
die Batch per VBA aufzurufen?
Shell "c:\test\MeineBatch.bat"
Gruß
Rudi
AW: Hast du schon mal versucht,..
15.11.2010 14:06:57
Holger
Hi Rudi,
das geht, aber ich wollte ja eigentlich keine Batch Datei mehr, sondern direkt aus VBA.
Also bei mir ...
15.11.2010 14:07:48
Rudi
Hallo,
funkt beides:
Sub vvv()
Shell "c:\test\mybat.bat"
End Sub

Sub yyy()
Shell "notepad.exe c:\test\test.txt", vbNormalFocus
End Sub
In mybat.bat steht
"notepad.exe" c:\test\test.txt
Gruß
Rudi
AW: Also bei mir ...
15.11.2010 14:15:36
Holger
Hi Rudi,
es muss am AQT liegen, denn mit dem Notepad geht auch beides bei mir.
Anzeige
AW: Also bei mir ...
15.11.2010 14:22:59
Rudi
Hallo,
vielleicht so:
Sub ExecuteAQT()
Const sBat As String = "c:\test\aqt.bat"
Open sBat For Output As #1
Print #1, """C:\Programme\Advanced Query Tool\aqt.exe""" & " GetPublishesTelecom.Sql"
Close #1
Shell Chr(34) & sBat & Chr(34)
Kill sBat
End Sub

AW: Also bei mir ...
15.11.2010 14:29:46
Holger
Nix zu machen, geht einfach nicht.
Ich verstehe das nicht ...
Aufruf eines Programms mit Parametern aus VBA
15.11.2010 17:45:37
Anton
Hallo Holger,
du musst vllt den Pfad zu der sql Datei mitgeben , etwa so:
Shell "C:\Programme\Advanced Query Tool\aqt.exe C:\Ordner\GetPublishesTelecom.sql"
mfg Anton
AW: Aufruf eines Programms mit Parametern aus VBA
15.11.2010 18:44:18
Holger
Hallo,
Danke für deine Antwort, aber das habe ich auch schon ohne Erfolg ausprobiert.
Es muss am AQT liegen, mit einer bat datei geht es.
Gruß
Holger
Anzeige

12 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige