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

Forumthread: Pfad für GetOpenFilename festlegen

Pfad für GetOpenFilename festlegen
16.07.2005 14:51:26
Andreas
Ich suche eine Möglichkeit, für GetOpenFilename den Einstiegspfad für das Dialogfenster festzulegen. Mit dem folgende Code
ChDir ("E:\daten\")
a$ = Application.GetOpenFilename("dBASE-Dateien (*.dbf), *.dbf")
scheiterte ich kläglich. Was mache ich nur falsch?
Danke,
Andreas
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad für GetOpenFilename festlegen
16.07.2005 15:06:15
Nepumuk
Servus,
versuch es mal so:
ChDrive ("E:\")
ChDir ("E:\daten\")
a$ = Application.GetOpenFilename("dBASE-Dateien (*.dbf), *.dbf")

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Einstiegspfad für GetOpenFilename in Excel VBA festlegen


Schritt-für-Schritt-Anleitung

Um den Einstiegspfad für das Dialogfenster von Application.GetOpenFilename festzulegen, kannst Du den folgenden VBA-Code verwenden:

Sub EinstiegspfadFestlegen()
    ChDrive "E:\"  ' Wechsel zu Laufwerk E
    ChDir "E:\daten\"  ' Wechsel in das Verzeichnis "daten"
    Dim a As Variant
    a = Application.GetOpenFilename("dBASE-Dateien (*.dbf), *.dbf")

    If a <> False Then
        MsgBox "Ausgewählte Datei: " & a
    Else
        MsgBox "Keine Datei ausgewählt."
    End If
End Sub

Hierbei wird zuerst mit ChDrive das Laufwerk und anschließend mit ChDir das Verzeichnis festgelegt. Der GetOpenFilename-Befehl öffnet dann das Dialogfeld mit dem gewünschten Filter für dBASE-Dateien.


Häufige Fehler und Lösungen

  • Problem: Der Pfad wird nicht beachtet.

    • Lösung: Stelle sicher, dass Du zuerst ChDrive und ChDir ausführst, bevor Du Application.GetOpenFilename aufrufst. Dies sorgt dafür, dass das Dialogfenster den richtigen Einstiegspfad verwendet.
  • Problem: GetOpenFilename gibt False zurück.

    • Lösung: Dies passiert, wenn der Benutzer den Dialog abbricht. Überprüfe den Rückgabewert und handle entsprechend.

Alternative Methoden

Eine alternative Methode, um den Einstiegspfad festzulegen, wäre die Verwendung von Application.GetOpenFilename mit einem bestimmten Pfad direkt im Aufruf:

Dim a As Variant
a = Application.GetOpenFilename("dBASE-Dateien (*.dbf), *.dbf", , "Wähle eine Datei", , False)

Hier kann der zweite und dritte Parameter genutzt werden, um den Dialog entsprechend anzupassen, jedoch kannst Du den Pfad nicht direkt vorgeben, wenn Du diese Methode verwendest.


Praktische Beispiele

Ein praktisches Beispiel wäre, wenn Du eine Datei in eine Excel-Tabelle importieren möchtest. Der folgende Code öffnet das Dialogfeld zum Auswählen einer Datei und importiert die Daten:

Sub DateiImportieren()
    Dim a As Variant
    ChDrive "E:\"
    ChDir "E:\daten\"
    a = Application.GetOpenFilename("dBASE-Dateien (*.dbf), *.dbf")

    If a <> False Then
        ' Hier kannst Du den Import der Datei vornehmen
        ' Beispiel: Workbooks.Open a
        MsgBox "Datei wird importiert: " & a
    End If
End Sub

Tipps für Profis

  • Nutze GetOpenFilename in Kombination mit multiselect, wenn Du mehrere Dateien auswählen möchtest. Setze dazu den Parameter multiselect auf True.
  • Verwende die filefilter, um die Arten von Dateien, die angezeigt werden, spezifisch zu gestalten. Dies verbessert die Benutzererfahrung erheblich.

FAQ: Häufige Fragen

1. Wie kann ich den Filter für die Dateiauswahl anpassen?
Du kannst den Filter im Application.GetOpenFilename-Aufruf anpassen, indem Du den ersten Parameter änderst, z.B. "Excel-Dateien (*.xlsx), *.xlsx".

2. Kann ich mehrere Dateien mit GetOpenFilename auswählen?
Ja, setze den Parameter multiselect auf True, um die Auswahl mehrerer Dateien zu ermöglichen. Beachte, dass Du dann die Rückgabewerte entsprechend behandeln musst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige