Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pfad vorgeben bei Application.GetOpenFilename

Forumthread: Pfad vorgeben bei Application.GetOpenFilename

Pfad vorgeben bei Application.GetOpenFilename
14.11.2003 12:53:37
DetlefD
Hallo zusammen,
ivh habe folgenden Code geschrieben:

ChDrive ("I")
ChDir "I:\Ordner1\Ordner2"
Pfad = Application.GetOpenFilename

Soweit so gut. Funktioniert auch. Das Problem ist nur das das Makro in einem Netzwerk läuft und das Laufwerk "I" nicht bei jedem so heißt. Jetzt habe ich den Code so umgeschrieben das ich die Servernamen verwende.

ChDrive ("\\ServerDor01")
ChDir "\\ServerDor01\Ordner1\Ordner2"
Pfad = Application.GetOpenFilename

der Befehl ChDir funktioniert so auch. Wenn ich auf dem Laufwerk bin macht er mir den richtigen Ordner auf (Der Name des Servers schein also richtig zu sein). Der Befehl ChDrive funktioniert so allerding nicht.
Weiß jemand wo dort der Fehler liegt?

Vielen Dank..

Gruß,
Detlef
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad vorgeben bei Application.GetOpenFilename
14.11.2003 14:05:33
Ramses
Hallo

ChDrive kann nur lokale Laufwerksbezeichnungen ansprechen.
Netzlaufwerke sind leider aussen vor.

Gruss Rainer
Anzeige
Anzeige

Infobox / Tutorial

Pfad vorgeben bei Application.GetOpenFilename in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA den Pfad für den Application.GetOpenFilename Dialog vorzugeben, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  3. Gib den folgenden Code ein:

    Sub DateiOeffnen()
        Dim Pfad As String
        ChDrive "I" ' Beachte: Dies funktioniert nur für lokale Laufwerke
        ChDir "I:\Ordner1\Ordner2"
        Pfad = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx), *.xls; *.xlsx", , "Bitte wähle eine Datei aus")
    
        If Pfad <> "False" Then
            ' Hier kannst du etwas mit der ausgewählten Datei machen
            MsgBox "Ausgewählte Datei: " & Pfad
        End If
    End Sub
  4. Führe das Makro aus: Drücke F5 oder gehe über das Menü Run > Run Sub/UserForm.


Häufige Fehler und Lösungen

  • Fehler: ChDrive funktioniert nicht für Netzwerk-Laufwerke
    Lösung: ChDrive kann nur lokale Laufwerksbuchstaben ansprechen. Verwende den vollständigen UNC-Pfad für Netzwerkressourcen, wie in folgendem Beispiel:

    ChDir "\\ServerDor01\Ordner1\Ordner2"
  • Fehler: GetOpenFilename gibt "False" zurück
    Lösung: Stelle sicher, dass der Benutzer eine Datei ausgewählt hat. Der Rückgabewert "False" bedeutet, dass der Dialog abgebrochen wurde.


Alternative Methoden

Falls du den Pfad in einer variablen Weise vorgeben möchtest, kannst du auch ThisWorkbook.Path verwenden, um den Pfad der aktuellen Arbeitsmappe zu nutzen:

ChDir ThisWorkbook.Path & "\Ordner1\Ordner2"

Das funktioniert gut, wenn sich die Datei in einem bestimmten Verzeichnis befindet und du keine festen Pfade verwenden möchtest.


Praktische Beispiele

Hier ist ein Beispiel, wie du den GetOpenFilename in Kombination mit dem Pfad nutzen kannst:

Sub DateiOeffnenMitPfad()
    Dim Pfad As String
    ChDir ThisWorkbook.Path & "\Ordner1\Ordner2"

    Pfad = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx), *.xls; *.xlsx", , "Wähle eine Excel-Datei")

    If Pfad <> "False" Then
        Workbooks.Open Pfad
    End If
End Sub

In diesem Beispiel wird der Dialog geöffnet, und die ausgewählte Datei wird direkt in Excel geöffnet.


Tipps für Profis

  • Verwendung von FileFilter: Nutze die filefilter-Option in GetOpenFilename, um die Auswahl auf bestimmte Dateitypen zu beschränken.

  • Mehrfachauswahl aktivieren: Du kannst MultiSelect aktivieren, um mehrere Dateien auszuwählen, indem du den Code wie folgt anpasst:

    Pfad = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx), *.xls; *.xlsx", , "Wähle eine oder mehrere Dateien", , True)
  • Überprüfung des Rückgabewerts: Überprüfe immer, ob der Benutzer eine Datei ausgewählt hat, bevor du mit dieser arbeitest.


FAQ: Häufige Fragen

1. Wie kann ich einen Standardpfad für den Datei-Öffnen-Dialog festlegen?
Verwende ChDir vor dem Aufruf von Application.GetOpenFilename, um den gewünschten Pfad vorzugeben.

2. Kann ich den Dialog für mehrere Dateitypen öffnen?
Ja, du kannst den FileFilter-Parameter nutzen, um die Auswahl auf verschiedene Dateitypen zu beschränken.

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