Anzeige
Archiv - Navigation
1268to1272
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

GetOpenFileName Multifiles Endung "*Eform.xlsm".x

GetOpenFileName Multifiles Endung "*Eform.xlsm".x
ChrisW
Hallo Leute, Hallo Tino,
ich habe ein Makro von Tino geschrieben am: 26.05.2009 12:22:07 aus diesem Forum an meine Bedürfnisse angepasst.
Dieses Makro öffnet das Dialogfenster, gefiltert nach Dateien, die auf "*E Form.xlsm" enden.
Leider benötige ich Hilfe bei der Makroanpassung, denn ich möchte nicht nur ein File öffnen, sondern mehrere aus der Liste, und diese Makroanpassung bekomme ich nicht hin.
Vielleicht kann mir jemand von Euch weiterhelfen, vielleicht ist ja auch Tino online und sieht diese Anfrage.
Vielen Dank für Eure Hilfe - Nachfolgend das Makro
Chris
Tino's Makros:
Private Declare

Function GetOpenFileName Lib "comdlg32.dll" _
Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
Flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As Long
End Type
Private Const OFN_FILEMUSTEXIST = &H1000
Private Const OFN_READONLY = &H1
Private Const OFN_HIDEREADONLY = &H4

Function DateiOeffnen(Optional Titel, Optional Filter, Optional DefExtension, Optional AktDir)  _
As String
Dim strDateiname As String
Dim strDlgTitel As String
Dim strFilter As String
Dim strDefExtension As String
Dim strAktDir As String
Dim strNull As String
Dim OpenDlg As OPENFILENAME
strNull = Chr$(0)
strDateiname = String$(512, 0)
If IsMissing(Titel) Then
strDlgTitel = "Datei öffnen" & strNull
Else
strDlgTitel = Titel & strNull
End If
If IsMissing(Filter) Then
strFilter = "Alle Dateien" & strNull & "*.*" & strNull & strNull
Else
strFilter = Filter & strNull
End If
If IsMissing(DefExtension) Then
strDefExtension = strNull
Else
strDefExtension = DefExtension & strNull
End If
If IsMissing(AktDir) Then
strAktDir = CurDir$ & strNull
Else
strAktDir = AktDir & strNull
End If
With OpenDlg
.lStructSize = Len(OpenDlg)
.hwndOwner = Application.Hwnd
.lpstrFilter = strFilter
.nFilterIndex = 1
.lpstrFile = strDateiname
.nMaxFile = Len(strDateiname)
.lpstrInitialDir = strAktDir
.lpstrTitle = strDlgTitel
.Flags = OFN_FILEMUSTEXIST Or OFN_READONLY
.lpstrDefExt = strDefExtension
If GetOpenFileName(OpenDlg)  0 Then
DateiOeffnen = Left$(.lpstrFile, InStr(.lpstrFile, strNull) - 1)
Else
DateiOeffnen = ""
End If
End With
End Function

Sub SingleEformDateiOeffnen_Dialog()
Dim sPfad As String, sDatei As String
'hier den Suchpfad eingeben
sPfad = ThisWorkbook.Path
sDatei = DateiOeffnen("Datei öffnen", "Excel File (*Eform.xlsm)" & Chr$(0) & "*Eform.xlsm",  _
"*.xlsm", sPfad)
Workbooks.Open Filename:=sDatei
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: GetOpenFileName Multifiles Endung "*Eform.xlsm".x
02.07.2012 12:13:19
Rudi
Hallo,
das geht viel einfacher.
Sub OpenFiles(sPath As String, sMatch As String)
Dim i As Integer, sfile As String
If Right(sPath, 1)  "\" Then sPath = sPath & "\"
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Dateien wählen"
.AllowMultiSelect = True
.InitialFileName = sPath & sMatch
If .Show = -1 Then
For i = 1 To .SelectedItems.Count
Workbooks.Open .SelectedItems(i)
Next
End If
End With
End Sub

Sub aaa()
OpenFiles "n:\test", "*e Form.xlsm"
End Sub

Gruß
Rudi
Anzeige
AW: GetOpenFileName Multifiles Endung "*Eform.xlsm".x
03.07.2012 15:22:42
ChrisW
Hallo Rudi,
ja, funktioniert und ist in der Tat einfacher und auch zu verstehen.
Vielen Dank
Chris

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige