ich habe hier auf dem Excel-Server unten eingefügtes Beispiel 145501 gefunden. Leider kenne ich mich nicht besonders mit VBA in Excel aus. Es wäre super wenn mir jemand helfen könnte.
Ich möchte dieses Beispiel für den Import und Anzeige von Text-Datendateien nutzen.
Wie kann ich denn mit unten aufgeführtem Beispiel eine TXT-Datei öffnen, wenn ich diese in der Combobox ausgewählt habe?
Oder noch besser wie kann ich eine ausgewählte Datei mit einem
Importmacro starten?
Gruß
Bongartz
Beispiel: 145501
Thema: Datei
Betrifft: Listen der Dateien eines Verzeichnisses in einer ComboBox
Excel-Version: XL 8/9
Frage: In einem Dialog soll ein Verzeichnis ausgewählt werden. Die Dateien des ausgewählten Verzeichnisses sind in einer UserForm-ComboBox aufzulisten.
Antwort: Mit Alt+F11 in die Entwicklungsumgebung wechseln, die UserForm doppelklicken und in das sich jetzt öffnende Modul den nachfolgenden Code eingeben.
'ClassModule: frmFiles
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub UserForm_Activate()
Dim bi As BROWSEINFO
Dim pidl As Long
Dim path As String
Dim pos As Integer
Dim Hwnd As Long
Hwnd = GetActiveWindow
bi.hOwner = Hwnd
bi.pidlRoot = 0&
bi.lpszTitle = "Select the directory to fill combobox with..."
bi.ulFlags = BIF_RETURNONLYFSDIRS
pidl = SHBrowseForFolder(bi)
path = Space$(MAX_PATH)
If SHGetPathFromIDList(ByVal pidl, ByVal path) Then
pos = InStr(path, Chr$(0))
Call Populate_combo(Left(path, pos - 1))
End If
Call CoTaskMemFree(pidl)
End Sub
Private Sub Populate_combo(strDir As String)
Dim strFile As String
With ComboBox1
.Clear
.ColumnCount = 2
.ColumnWidths = ";0 pt"
Label1.Caption = strDir
If Right(strDir, 1) <> "\" Then strDir = strDir & "\"
strFile = Dir(strDir)
Do Until strFile = ""
.AddItem strFile
.List(.ListCount - 1, 1) = strDir & "\"
strFile = Dir
Loop
End With
End Sub
'StandardModule: Modul1
Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
Public Const BIF_RETURNONLYFSDIRS = &H1
Public Const BIF_DONTGOBELOWDOMAIN = &H2
Public Const BIF_STATUSTEXT = &H4
Public Const BIF_RETURNFSANCESTORS = &H8
Public Const BIF_BROWSEFORCOMPUTER = &H1000
Public Const BIF_BROWSEFORPRINTER = &H2000
Public Const MAX_PATH = 260
Public Declare Function SHGetPathFromIDList _
Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
(ByVal pidl As Long, ByVal pszPath As String) As Long
Public Declare Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" _
(lpBrowseInfo As BROWSEINFO) As Long
Public Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long)
Public Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal Hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal _
lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Declare Function GetActiveWindow Lib "user32" () As Long
Sub DialogAufruf()
frmFiles.Show
End Sub