PDA

Vollständige Version anzeigen : Programm starten über VBA


Loewchen2005
22.03.2006, 12:49
Hi,

ich möchte gerne ein Fremdprogramm starten...

Dazu habe ich folgenden Codeschnipsel:

Public Function startProgramm()
Dim Ergebnis
Ergebnis = Shell("C:\WINDOWS\System32\CALC.EXE", 1)
End Function

die hier genannte Funktion läuft auch... es gibt aber Programme, wenn ich die starten will dann folgt nur kurz das StartBild, meist das Logo und dann verschwindet dieses wieder. Schreibe ich den Aufruf (in diesem fall C:\Windows\System32\calc.exe) in der Konsole funktioniert der aufruf. Schreibe ich es in eine batch datei und starte diese funktioniert es auch... starte ich die batchdatei dann wieder mit hilfe des shell befehls, dann tritt wieder der eben beschriebene Fehler auf.

Ich hoffe einer von Euch kann mir helfen. :depressed

Anne Berg
22.03.2006, 12:59
Suche mal hier im Forum nach ShellExecute - ich glaube das könnte dir helfen.

Loewchen2005
22.03.2006, 13:12
super... mal sehen ob ich da was passendes finde...

Loewchen2005
22.03.2006, 13:38
leider ist das für mich keine adäquate Lösung... aus verschiedenen Gründen... darf und kann ich diese API Funktion nicht verwenden...

wäre euch dankbar, wenn ihr noch andere Lösungen hättet...

BodoM
22.03.2006, 14:12
Das Problem mit der Shell-Fkt. kenne ich nicht.
Ich verstehe die Abneigung gegen API-Fkt.en nicht. Sie funzen einwandfrei und sind auf jeden Windowsrechner. Was will man mehr. Du/ Ihr solltet die Einstellung noch mal überdenken.

Loewchen2005
22.03.2006, 14:33
das hat nichts mit einstellungen zu denken... ich müßte dazu die verweise erweitern... darf das aber nicht... ist vom kunden so verlangt... so lange wir nicht mit runtime arbeiten müssen wir so voran kommen... ich persönlich arbeite gerne mit API sehr gerne sogar...

Arne Dieckmann
22.03.2006, 14:52
Welchen Verweis -meinst du- brauchst du denn zusätzlich?

Loewchen2005
22.03.2006, 15:05
habe die lösung gefunden...
danke trotzdem an euch für eure hilfe...
es lag an dem programm dass ich starten wollte...
es muss als zusätzlicher parameter ein wert mitgegeben werden der sagt, wo das programm gestartet werden soll... dass mußte in dem programm das ich starten will eingebaut werden, jetzt funktioniert es...

nun hoffe ich nur noch, dass wir so schnell wie möglich auf runtime umsteigen...

BodoM
22.03.2006, 15:55
Falls Du hier noch mal reinsiehst.

Um API-Fkt.en zu verwenden brauchst Du nur einen Verweis mit Declare nicht aber den problenmatischen Verweis unter Extras/Verweise. API's sind keine ActiveX.