811 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo
Nutze folgenden Makroaufbau um verschiedene Programme aus Excel heraus zu starten, Wartungsplan für meinen PC - Windows 7

Sub CCleaner()
Status = Shell("C:\Program Files (x86)\CCleaner\CCleaner.exe", 1)
End Sub

Funktioniert leider nicht mit allen Programmen z.b nicht mit

Sub DeCleaner()
Status = Shell("C:\Program Files (x86)\DECleaner\cleaner.exe", 1)
End Sub

Es erscheint folgende Fehlermeldung.
Ungültiger Prozeduraufruf oder ungültiges Argument.

Unter Windows XP habe ich diese Probleme nicht.
Wie müsste das Makro aussehen damit es mit allen Programmen funktioniert.



Mit freundlichen Grüßen
Hans

2 Antworten

0 Punkte
Beantwortet von marie Experte (2k Punkte)
Probiers mal mit der API ShellExecute

Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Sub StartAnwendung()

Dim lngRet As Long

lngRet = ShellExecute(Me.hwnd,"open","C:\Anwendung.exe",vbNullString,vbNullString,1)

If lngRet = 0 Then
MsgBox "Anwendung erfolgreich gestartet."
ElseIf lngRet = 1 Then
MsgBox "Fehler beim Starten der Anwendung"
End If

End Sub


Gruß Marie
0 Punkte
Beantwortet von
Hallo
Besten Dank für deine Hilfe
Werde es gleich ausprobieren : -)


Mit freundlichen Grüßen
Hans
...