Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Allgemeine Frage zu "Shell" (Öffnen Notepad)

Allgemeine Frage zu "Shell" (Öffnen Notepad)
Martin
Hallo,
im Archiv habe ich folgenden Aufruf zum Öffnen einer Textdatei im Editor (Notepad) gefunden:

Sub TxtAufruf()
Shell "C:\Windows\Notepad.exe " & "C:\Text.txt", 1
End Sub
In diesem Aufruf sehe ich den Nachteil, dass das Windows-Verzeichnis auf manchen Computern anders sein könnte (z.B. "C:\WinNT" oder "D:\Windows"). Nun habe ich beim Testen festgestellt, dass der Aufruf des Notepads auch ohne Angabe des Windows-Verzeichnisses möglich ist:

Sub TxtAufruf()
Shell "Notepad.exe " & "C:\Text.txt", 1
End Sub
Birgt das Weglassen des Systemverzeichnisses beim Aufrufen des Notepads irgendwelche Nachteile? So sollte der Aufruf des Notepads doch auch klappen, wenn das Windows-Verzeichnis mal nicht "C:\Windows" heißt?
Oder ist es sicherer den Windowspfad so anzugeben:
Sub TxtAufruf()
Shell Environ("windir") & "\Notepad.exe " & "C:\Text.txt", 1
End Sub
Viele Grüße
Martin
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Allgemeine Frage zu "Shell" (Öffnen Notepad)
03.05.2012 18:31:31
Christian
Hallo Martin,
du kannst alle Programme, deren Verzeichnis in der Umgebungsvariablen "Path" von Windows gesetzt ist, direkt aufrufen.
Bei der Installation von Windows wird u.a. das Windows-Verzeichnis (zB. "C:\WINDOWS") in "Path" geschrieben. Daher ist der Aufruf "Shell "Notepad.exe " & "C:\Text.txt", 1" ausreichend. Deine anderen Alternativen haben in diesem Fall keinen Vorteil.
Bei Programmen, deren Verzeichnis nicht in "Path" steht, musst du den gesamten Pfad angeben, bzw. die Umgebungsvariable "Path" erweiteren.
Gruß
Christian
Anzeige
Super, vielen Dank!
03.05.2012 19:07:53
Martin
Hallo Christian,
ich hatte schon befürchtet, dass mir keiner mehr antworten würde. Was du schreibst, hatte ich bereits vermutet. Aber da ich keinen Computer mit einem "Nicht C:\Windows Systemverzeichnis" habe, konnte ich es leider nicht testen. Also vielen Dank für deine Antwort!
Viele Grüße
Martin
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Shell und Notepad: So öffnest du Notepad mit VBA


Schritt-für-Schritt-Anleitung

Um Notepad mit VBA zu öffnen, kannst du die Shell-Funktion verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub TxtAufruf()
       Shell "Notepad.exe C:\Text.txt", vbNormalFocus
    End Sub
  4. Ersetze C:\Text.txt mit dem Pfad zu deiner gewünschten Textdatei.

  5. Schließe den VBA-Editor und führe das Makro aus, um Notepad zu öffnen.

Diese Methode nutzt Notepad.exe, welches standardmäßig im Windows-Verzeichnis zu finden ist. Wenn du eine andere Textdatei öffnen möchtest, ändere einfach den Pfad in der Shell-Anweisung.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Lösung: Stelle sicher, dass der Pfad zur Textdatei korrekt ist. Überprüfe, ob die Datei tatsächlich an dem angegebenen Ort existiert.
  • Fehler: "Notepad.exe nicht gefunden"

    • Lösung: Wenn du einen anderen Windows-Verzeichnis-Pfad verwendest, stelle sicher, dass Notepad im Path-Verzeichnis enthalten ist. Andernfalls verwende den vollständigen Pfad.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, Notepad über VBA zu öffnen:

  1. Verwende den vollständigen Pfad:

    Sub TxtAufruf()
       Shell "C:\Windows\Notepad.exe C:\Text.txt", vbNormalFocus
    End Sub
  2. Verwende die Umgebungsvariable:

    Sub TxtAufruf()
       Shell Environ("windir") & "\Notepad.exe C:\Text.txt", vbNormalFocus
    End Sub

Diese Methoden sind besonders nützlich, wenn du dir nicht sicher bist, wo Notepad installiert ist.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du Notepad in verschiedenen Szenarien verwenden kannst:

  • Notepad zum Finden doppelter Einträge in einer Textdatei:

    Öffne eine Textdatei, die du auf doppelte Einträge überprüfen möchtest. Du kannst dann die "Suchen"-Funktion im Notepad nutzen.

    Sub OpenNotepadForDuplicates()
       Shell "Notepad.exe C:\Text.txt", vbNormalFocus
    End Sub
  • Notepad mit Excel-Daten:

    Du kannst auch Daten aus Excel in eine Textdatei exportieren und sie dann mit Notepad öffnen.

    Sub ExportDataAndOpenNotepad()
       Dim FilePath As String
       FilePath = "C:\ExportedData.txt"
       ' Exportiere hier deine Daten nach FilePath
       Shell "Notepad.exe " & FilePath, vbNormalFocus
    End Sub

Tipps für Profis

  • Nutze die vbNormalFocus-Option in der Shell-Anweisung, um sicherzustellen, dass Notepad im Vordergrund geöffnet wird.
  • Teste verschiedene Umgebungsvariablen wie Environ("ProgramFiles"), um sicherzustellen, dass deine Skripte auf verschiedenen Windows-Versionen funktionieren.
  • Automatisiere den Prozess des Öffnens von Notepad, indem du die VBA-Funktion in eine Schaltfläche in Excel einfügst.

FAQ: Häufige Fragen

1. Kann ich Notepad auch mit anderen Programmen öffnen? Ja, du kannst jedes Programm mit der Shell-Funktion öffnen, solange der Pfad korrekt ist.

2. Was mache ich, wenn Notepad sich nicht öffnet? Überprüfe, ob der Pfad zu Notepad korrekt ist und ob die Datei, die du öffnen möchtest, existiert.

3. Ist das Öffnen von Notepad in Excel sicher? Ja, solange du nur vertrauenswürdige Skripte und Dateien verwendest, ist das Öffnen von Notepad über Excel sicher.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige