Tipp 0188 Dialoge zur Dateiauswahl
Autor/Einsender:
Datum:
  Angie
19.01.2002
Entwicklungsumgebung:   Excel 97
Den Dialog zur Dateiauswahl zum Öffnen bzw. zum Speichern von Dateien kann man über das Dialogs-Objekt mit den Konstanten xlDialogOpen bzw. xlDialogSaveAs ausführen. Ein Dialog-Objekt (integriertes Microsoft Excel-Dialogfeld) kann nur zusammen mit der Show-Methode verwendet werden, um das entsprechende Dialogfeld anzuzeigen, d. h., die entsprechende Operation (das Öffnen bzw. das Speichern) wird auch sofort ausgeführt.
Beispiel Dialog Öffnen... mit der Show-Methode anzeigen:
 
Application.Dialogs(xlDialogOpen).Show
 
Möchte man etwas flexibler sein, was die weitere Reaktion anbelangt, dann eignen sich die beiden Methoden GetOpenFilename und GetSaveAsFilename besser, die jeweils einen Dialog zur Auswahl eines bereits vorhandenen bzw. eines neues Dateinamens anzeigen, ohne jedoch die Datei tatsächlich zu öffnen bzw. zu speichern.
In folgendem Beispiel wird der Umgang mit den beiden Methoden GetOpenFilename und GetSaveAsFilename gezeigt, und auch wie man mehrere Dateien auf einmal öffnen kann.
Dialog Speichern unter...
 
Sub Demo_GetSaveAsFilename()
  Dim varRetVal       As Variant
  Dim strInitFileName As String

  strInitFileName = "Beispiel"

  varRetVal = Application.GetSaveAsFilename( _
        InitialFilename:=strInitFileName, _
        FileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
        Title:="Datei speichern unter...")

  If varRetVal = False Then Exit Sub

  ActiveWorkbook.SaveAs varRetVal
End Sub
 
Dialog Öffnen... (ohne Mehrfachauswahl)
 
Sub Demo_GetOpenFilename()
  Dim varRetVal As Variant

  varRetVal = Application.GetOpenFilename( _
          FileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
          Title:="EINE Datei zum Öffnen auswählen")

  If varRetVal = False Then Exit Sub

  On Error Resume Next
  Workbooks.Open FileName:=varRetVal
  On Error GoTo 0
End Sub
 
Dialog Öffnen... (mit Mehrfachauswahl)
 
Sub Demo_GetOpenFilename_MultiSelect()
  Dim varRetVal As Variant
  Dim n         As Integer

  varRetVal = Application.GetOpenFilename( _
        FileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
        Title:="Eine oder mehrere Dateien zum Öffnen auswählen", _
        MultiSelect:=True)

  If IsArray(varRetVal) Then
    On Error Resume Next
    For n = LBound(varRetVal) To UBound(varRetVal)
      Workbooks.Open varRetVal(n)
    Next
    On Error GoTo 0
  End If
End Sub
 
Hinweis
Die im Download befindliche *.bas-Datei kann in Excel im VB-Editor importiert werden.

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
Excel-Version
95
97
2000
2002 (XP)
2003
2007
2010


Download  (2,8 kB) Downloads bisher: [ 2407 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Freitag, 5. August 2011