AW: vba Datei öffnen, Erweiterung unbekannt
09.04.2011 16:51:29
fcs
Hallo Daniel,
mit dem folgenden Makro wird der Datei-Auswahldialog zum Öffnen einer Datei angezeigt.
Gruß
Franz
'##############################################################
'# Windows Vista - Excel 2007 - VBA 6.5.1040 #
'# fcs 2011-04-09 #
'# Anzeige von Dialog zur Dateiauswahl #
'# Makro sollten auch unter Excel 2003 lauffähig sein #
Option Explicit
Sub aaTest()
Dim sDatei As String, bolFilter As Boolean, sFilter As String, lngIndex As Long
'Exceldateien im Dateidialog auswählen
sFilter = "*.xls;*.xlsx;*.xlsm;*.xlsb" 'im Auswahldialog anzuzeigende Dateiformate
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.ButtonName = "Datei öffnen"
.InitialFileName = ""
.Title = "Bitte gewünschte Datei auswählen"
With .Filters
'Prüfen, ob gewünschter Filter schon vorhanden
For lngIndex = 1 To .Count
If .Item(lngIndex).Extensions = sFilter Then
bolFilter = True
Exit For
End If
Next
'ggf. gewünschten Filter in Liste ergänzen
If bolFilter = False Then
lngIndex = .Count + 1
.Add "Excelfiles", sFilter, lngIndex
End If
End With
.FilterIndex = lngIndex
.InitialView = msoFileDialogViewProperties ' = msoFileDialogViewDetails
'Dateiauswahldialog anzeigen
If .Show = -1 Then
'Es wurde eine Datei ausgewählt
Application.Workbooks.Open Filename:=.SelectedItems(1)
Else
'Dialog wurde abgebrochen
Exit Sub
End If
End With
End Sub
'oder in einfachster Form - hier muss man ggf. erst den gewünschten Dateifilter wählen
Sub aatest2()
Dim vAuswahl
vAuswahl = Application.Dialogs(xlDialogOpen).Show
If vAuswahl = False Then Exit Sub
End Sub