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

Forumthread: Datei Auswählen Dialog (Application.FileDialog)

Datei Auswählen Dialog (Application.FileDialog)
03.12.2007 17:45:00
Thomas
Hallo,
ich möchte aus ein paar Tabellendaten eine kleine XML-Datei schreiben. Derzeit wähle ich mit dem msoFileDialogFolderPicker ein Verzeichnis aus. Der Dateiname heißt derzeit immer gleich. Jetzt würd ich den Dateinamen auch gern variabal auswählen können, d.h. in einer Art "Speichern Unter"-Dialog auswählen.
Der msoFileDialogFilePicker wählt aber m.W. nur existierende Dateien aus und msoFileDialogOpen bzw msoFileDialogSaveAs funktionieren auch irgendwie nicht, da XL eine XML-Datei über die entsprechende Methoden schreiben will. ?
Hier mein derzeitiges Makro:
' Dummys festlegen
strPfad = "c:"
strFileNameKurz = "Umsatz-" & strJahr & "-" & strQuartal & "-" & strAbt ' Namensvorschlag wird aus Tabellendaten zusammengebastelt
strFileNameLang = strPfad & "\" & strFileNameKurz & ".xml"
' Ordner wählen
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = strPfad
.InitialView = msoFileDialogViewDetails
.Title = "Wo soll die xml-Datei gespeichert werden? Bitte einen Ordner wählen."
If .Show = -1 Then
strPfad = .SelectedItems(1)
Else
Exit Sub
End If
End With
If strPfad = "" Then Exit Sub
strFileNameLang = strPfad & "\" & strFileNameKurz & ".xml"
' Ausgabe der xml-Datei
Open strFileNameLang For Output As #1
...
Weiß jemand weiter? Hab schon 1.000 Sachen ausprobiert und blick nicht mehr durch :-(((
Danke und Gruß
Thomas

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datei Auswählen Dialog (Application.FileDialog
03.12.2007 19:28:00
Rene
Hallo Thomas,
wenn du den Ordner schon ausgewählt hast, dann müsstest du nur noch über einen Inputbox den Dateinamen abfragen, dann den ausgewählten Order & Inputbox und schon kannst du es an einem beliebigen unter belibigem Namen speihern.
Gruß
René

AW: Datei Auswählen Dialog (Application.FileDialog
03.12.2007 20:06:05
Thomas
Hallo Rene,
ich hätte gern einen Dialog, der so aussieht wie der "Speichern Unter", also Pfad und Dateiname komplett auswählt und speichert. Gespeichert werden bzw. angelegt werden soll ja nur eine "leere" Datei. Den Inhalt der Datei fülle ich ja selbst mit dem Open For Output-Befehl...
Gruß
Thomas

Anzeige
AW: Datei Auswählen Dialog (Application.FileDialog
03.12.2007 20:10:24
Rene
Dann nimm doch des SaveAS-Dialog und wähle im Code das Dateiformat welches du möchtest und dann kannst u ja schreiben.

AW: Datei Auswählen Dialog (Application.FileDialog
03.12.2007 20:11:32
Jens
Hi,
sieh dir die GetSaveAsFilename-Methode in der Hilfe an.
mfg Jens

AW: Datei Auswählen Dialog (Application.FileDialog
03.12.2007 20:21:01
Thomas
Hallo Jens, hallo Rene,
vielen vielen Dank. Ich probier morgen früh mal die beiden Methoden aus und schreib dann das Ergebnis hier rein ;-)
Schönen Abend noch und viele Grüße
Thomas
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datei Auswählen Dialog in Excel VBA


Schritt-für-Schritt-Anleitung

Um einen Datei-Auswählen-Dialog in Excel VBA zu erstellen, der sowohl den Pfad als auch den Dateinamen auswählt, kannst Du die Application.FileDialog-Methode verwenden. Hier ist ein einfaches Beispiel:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere und füge den folgenden Code ein:
Sub DateiAuswaehlen()
    Dim strPfad As String
    Dim strDateiname As String
    Dim fd As FileDialog

    ' Datei-Dialog initialisieren
    Set fd = Application.FileDialog(msoFileDialogSaveAs)

    ' Dialog konfigurieren
    With fd
        .InitialFileName = "C:\"
        .Title = "Bitte wählen Sie einen Dateinamen"
        .AllowMultiSelect = False
        .FilterIndex = 1
        If .Show = -1 Then
            strDateiname = .SelectedItems(1)
            ' Hier kannst Du nun mit strDateiname arbeiten
            MsgBox "Datei gespeichert als: " & strDateiname
        Else
            MsgBox "Keine Datei ausgewählt."
        End If
    End With
End Sub
  1. Führe das Makro aus (F5), um den Dialog zu testen.

Häufige Fehler und Lösungen

  • Fehler: Der Dialog öffnet sich nicht.

    • Lösung: Stelle sicher, dass Du die richtige Methode von Application.FileDialog verwendest, wie msoFileDialogSaveAs.
  • Fehler: Die Datei wird nicht gespeichert.

    • Lösung: Überprüfe, ob Du einen gültigen Pfad und Dateinamen im Dialog auswählst.

Alternative Methoden

Wenn Du den Dialog für das Öffnen einer Datei verwenden möchtest, kannst Du die Methode msoFileDialogOpen nutzen. Hier ein Beispiel:

Sub DateiOeffnen()
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogOpen)

    With fd
        .Title = "Bitte wählen Sie eine Datei zum Öffnen"
        .AllowMultiSelect = False
        If .Show = -1 Then
            MsgBox "Datei ausgewählt: " & .SelectedItems(1)
        Else
            MsgBox "Keine Datei ausgewählt."
        End If
    End With
End Sub

Praktische Beispiele

  1. Speichern einer XML-Datei: Verwende das msoFileDialogSaveAs, um den Speicherort und Dateinamen für eine XML-Datei aus den Tabellendaten auszuwählen.

  2. Ordner auswählen: Der msoFileDialogFolderPicker ermöglicht es Dir, einen Ordner auszuwählen, in dem Du Deine Dateien speichern möchtest.

Beispiel:

Sub OrdnerAuswaehlen()
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)

    With fd
        .Title = "Bitte wählen Sie einen Ordner"
        If .Show = -1 Then
            MsgBox "Ordner ausgewählt: " & .SelectedItems(1)
        End If
    End With
End Sub

Tipps für Profis

  • Nutze die Filter-Eigenschaft des FileDialogs, um die Dateitypen, die angezeigt werden, einzuschränken.
  • Verwende die InitialFileName-Eigenschaft, um den Dialog mit einem vordefinierten Pfad zu starten.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Dateien auswählen? Verwende die AllowMultiSelect-Eigenschaft und setze sie auf True.

2. Kann ich den Dialog anpassen? Ja, Du kannst Titel, Filter und den Startpfad anpassen, um den Dialog Deinen Bedürfnissen anzupassen.

3. Was ist der Unterschied zwischen msoFileDialogOpen und msoFileDialogSaveAs? msoFileDialogOpen wird verwendet, um bestehende Dateien auszuwählen, während msoFileDialogSaveAs verwendet wird, um einen neuen Dateinamen und Speicherort auszuwählen.

Nutze diesen Leitfaden, um Deine Excel-Anwendungen effizienter zu gestalten und den Datei-Auswählen-Dialog in VBA optimal zu nutzen!

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