Die Methode 'Run' für das Objekt 'IWshShell3' verstehen
Schritt-für-Schritt-Anleitung
-
Makros aktivieren: Stelle sicher, dass die Makrosicherheit in Excel auf „niedrig“ eingestellt ist, damit dein VBA-Skript ausgeführt werden kann.
-
VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Code hinzufügen: Füge den folgenden Code in das entsprechende Arbeitsblattmodul ein:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strPath As String
Dim strStart As String
Dim VBScript As Object
Cancel = False
If Target.Column = 4 Then
strStart = Mid$(Target.Text, 1, 3)
If strStart = "POX" Or strStart = "CUS" Or strStart = "SAP" Or strStart = "APP" Then
Set VBScript = CreateObject("WScript.Shell")
strPath = Me.Parent.Path
strPath = strPath + "\Trigger\" + Target.Text + ".pxs"
VBScript.Run strPath, 3, False
End If
End If
End Sub
-
Dateizugriffsprobleme prüfen: Vergewissere dich, dass die Datei mit der Endung .pxs richtig zugeordnet ist. Du kannst dies testen, indem du die Datei direkt im Explorer öffnest.
-
Anwendung zuweisen: Wenn die Datei nicht mit einer Anwendung verknüpft ist, musst du die Verknüpfung manuell herstellen. Klicke mit der rechten Maustaste auf die Datei, wähle „Öffnen mit“ und dann die entsprechende Anwendung.
Häufige Fehler und Lösungen
-
Fehler 80070483: Dieser Fehler tritt auf, wenn Windows nicht weiß, mit welchem Programm die Datei geöffnet werden soll. Stelle sicher, dass die Datei .pxs mit einer Anwendung, wie z.B. Notepad oder PSPad, verknüpft ist.
-
Automatisierungsfehler: Wenn du beim Ausführen des Codes eine Fehlermeldung erhältst, kann es daran liegen, dass der Pfad zur Datei nicht korrekt ist. Überprüfe den Pfad in deinem Code und stelle sicher, dass die Datei dort tatsächlich existiert.
Alternative Methoden
-
VBA WScript.Shell verwenden: Anstelle von VBScript.Run kannst du auch die Methode VBA.WScript.Shell verwenden:
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
wsh.Run "notepad " & strPath, 3, False
-
Direktes Öffnen mit Notepad: Um sicherzustellen, dass die Datei immer mit Notepad geöffnet wird, kannst du den Befehl direkt anpassen:
VBScript.Run "notepad " & strPath, 3, False
Praktische Beispiele
Hier ist ein Beispiel für das Öffnen einer Datei mit dem Editor, das auf dem im Forum diskutierten Thema basiert:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strPath As String
If Target.Column = 4 Then
strPath = "C:\DeinPfad\" & Target.Text & ".pxs"
WScript.Shell.Run "notepad " & strPath, 3, False
End If
End Sub
In diesem Beispiel wird die Datei immer mit Notepad geöffnet, was eine häufige Anforderung ist.
Tipps für Profis
-
PSPad Dateien vergleichen: Wenn du PSPad verwendest, stelle sicher, dass es korrekt installiert ist. Andernfalls könnte der Befehl fehlschlagen, und du erhältst den Fehler 80070483.
-
Erweiterte Fehlerbehandlung: Implementiere eine Fehlerbehandlung in deinem VBA-Code, um spezifische Fehler besser erkennen und handhaben zu können:
On Error GoTo ErrorHandler
' Dein Code hier
Exit Sub
ErrorHandler:
MsgBox "Fehler: " & Err.Description
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass meine Datei mit der richtigen Anwendung geöffnet wird?
Überprüfe die Dateizuordnungen in Windows. Klicke mit der rechten Maustaste auf die Datei, wähle „Öffnen mit“ und setze die Standardanwendung.
2. Was bedeutet der Fehler 80070483?
Dieser Fehler zeigt an, dass es ein Problem mit der Anwendung gibt, die versucht, die Datei zu öffnen. Stelle sicher, dass die Datei korrekt zugeordnet ist und die Anwendung installiert ist.