Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Öffnen von Dateien aus VBA

Öffnen von Dateien aus VBA
Dateien
Hallo,
in einer Listbox auf einer frm lasse ich mir die Dateien eines Ordners mit vollständigen Namen und Pfad anzeigen.
Dann wähle ich in der Listbox einen Eintrag und muss je nach Ändung auf einen Button klicken.
Wenn es ein WordDoc ist, liegt hinter dem Button:

Private Sub CommandButton1_Click()
Dim Datei
Datei = ListBox1
CreateObject("word.application").Documents.Open("" & Datei).Application.Visible = True
End Sub
Bei Excel und pdf entsprechend der Endung genauso.
Frage: kann ich den Code zum öffnen verallgemeinern, dass automatisch das erforderliche Prog geöffnet wird, so wie wenn man im Explorer eine Datei auswählt.
Viele Grüße aus Hamburg Sonne, nicht kalt aber feucht
Ray
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Öffnen von Dateien aus VBA
12.09.2011 11:47:20
Dateien
Hallo,

Sub xxx()
Dim myShell as Object, Datei as String
Set myShell=Createobject("WScript.Shell")
Datei = ListBox1
myShell.Run Datei
End Sub

Gruß
Rudi
Es kommt eine ErrMld
12.09.2011 12:02:21
ray
Hallo Rudi,
..die Mehtode Run für das Objekt IWshShell3 ist fehlgeschlagen
Idee?
Gruss ray
Anzeige
AW: Es kommt eine ErrMld
12.09.2011 12:08:54
Rudi
Hallo,
versuchs mal mit

Sub xxx()
Dim myShell as Object, Datei as String
Set myShell=Createobject("WScript.Shell")
Datei = ListBox1
myShell.Run chr(34) &Datei &chr(34)
End Sub

AW: Es kommt eine ErrMld
12.09.2011 12:17:03
ray
Danke Rudi,
er öffnet jetzt alle Dateien sehr schnell. Nur ExcelDateien nicht. Kann es sein, dass die UserForm eine neue Instanz von Excel verhindert?
Anzeige
AW: Es kommt eine ErrMld
12.09.2011 12:49:19
Rudi
Hallo,
setz mal die ShowModal-Eigenschaft der UF auf False.
Gruß
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dateien aus VBA öffnen und verwalten


Schritt-für-Schritt-Anleitung

Um Dateien aus einer UserForm in Excel VBA zu öffnen, folge diesen Schritten:

  1. Erstelle eine UserForm: Füge eine ListBox und einen CommandButton hinzu.
  2. Fülle die ListBox: Zeige die Pfade der Dateien in einem bestimmten Ordner an. Du kannst dies mit einer Schleife und der Dir-Funktion tun.
  3. Füge den Code zum Öffnen der Datei hinzu: Verwende den folgenden VBA-Code, um die Datei zu öffnen, die in der ListBox ausgewählt wurde:

    Private Sub CommandButton1_Click()
       Dim Datei As String
       Datei = ListBox1.Value
       CreateObject("wscript.shell").Run chr(34) & Datei & chr(34)
    End Sub

    Mit CreateObject("wscript.shell") wird das Standardprogramm zum Öffnen der Datei verwendet, ähnlich wie im Explorer.


Häufige Fehler und Lösungen

  • Fehler beim Öffnen von Excel-Dateien: Wenn Excel-Dateien nicht geöffnet werden, kann es daran liegen, dass eine neue Instanz von Excel durch die UserForm blockiert wird. Stelle sicher, dass die ShowModal-Eigenschaft der UserForm auf False gesetzt ist.

  • Fehler mit IWshShell3: Wenn du die Meldung erhältst, dass die Methode Run fehlgeschlagen ist, stelle sicher, dass der Dateipfad korrekt ist und schließe den Pfad mit chr(34) (Anführungszeichen) ein.

    myShell.Run chr(34) & Datei & chr(34)

Alternative Methoden

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

  1. Direktes Öffnen von Excel-Dateien: Du kannst Excel-Dateien direkt öffnen, indem du die Workbooks.Open-Methode verwendest:

    Workbooks.Open Datei
  2. Verwendung von Shell: Anstelle von CreateObject("wscript.shell") kannst du auch die Shell-Funktion verwenden:

    Shell "explorer.exe " & Datei, vbNormalFocus

Praktische Beispiele

Hier sind einige Beispiele für das Öffnen von verschiedenen Dateitypen:

  • Öffnen eines Word-Dokuments:

    Private Sub CommandButton1_Click()
       Dim Datei As String
       Datei = ListBox1.Value
       CreateObject("word.application").Documents.Open Datei
       Application.Visible = True
    End Sub
  • Öffnen einer PDF-Datei:

    Private Sub CommandButton1_Click()
       Dim Datei As String
       Datei = ListBox1.Value
       CreateObject("wscript.shell").Run chr(34) & Datei & chr(34)
    End Sub

Tipps für Profis

  • Verwende Option Explicit: Füge Option Explicit am Anfang deiner Module hinzu, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung mit On Error Resume Next, um unerwartete Fehler zu vermeiden und den Code stabiler zu gestalten.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Dateien gleichzeitig öffnen?
Du kannst eine Schleife verwenden, um über die ausgewählten Dateien zu iterieren und diese nacheinander zu öffnen.

2. Was mache ich, wenn der Pfad zu lang ist?
Verkürze den Pfad oder speichere die Datei in einem Verzeichnis mit einem kürzeren Pfad. In Windows gibt es eine maximale Pfadlänge, die nicht überschritten werden sollte.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige