AW: InputBox
17.08.2004 16:03:12
Arne
Danke für die schnelle Antwort.
Ich bekomme das aber irendwie nicht eingebaut in das Macro.
Also diese Funktion habe ich gefunden:
Declare
Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Declare
Function SHGetPathFromIDList Lib "shell32" (ByVal pIDList As Long, ByVal lpBuffer As String) As Long
Declare
Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Public Type BrowseInfo
hwndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Public
Function Ordnerwählen(ByVal strTitle As String) As String
'Stellt ein Windows-Dialogfeld zur Verfügung, mit dem sich ein beliebiger Ordner auswählen läßt.
'Entweder wird dieser oder (bei Abbruch) "" zurückgeliefert.
Dim lngIDList As Long
Dim strBuffer As String
Dim UserBrowseInfo As BrowseInfo
With UserBrowseInfo
.hwndOwner = 0
.lpszTitle = lstrcat(strTitle, "")
.ulFlags = 3
End With
lngIDList = SHBrowseForFolder(UserBrowseInfo)
If (lngIDList) Then
strBuffer = Space(260)
SHGetPathFromIDList lngIDList, strBuffer
strBuffer = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
Ordnerwählen = strBuffer
End If
End Function
Sub GetOrdner()
MsgBox "Sie haben gewählt: " & Ordnerwählen("Ordner auswählen")
End Sub
Wenn ich daraus ein Modul mache, dann funktioniert das auch es soll aber in mein vorhandenes Macro mit integriert werden.
Also hier muss das irgendwo mit rein
Sub Read_Files()
Dim strFTyp As String, strFNameNeu As String, _
strOrdner As String, strNeuName As String, _
strName As String, strPfad As String, _
strFormat As String, _
strSF As Byte, _
FS As FileSearch, _
i As Integer, z As Integer, n As Integer, _
wbkFiles As Workbook, wshFiles As Worksheet
Application.ScreenUpdating = False
strFTyp = InputBox("Filetyp:", , ".mp3")
If strFTyp = "" Then Exit Sub
If Left(strFTyp, 1) <> "." Then strFTyp = "." & strFTyp
strOrdner = InputBox("Ordner oder STRG+G:", "Ordner eingeben oder STRG+G")
If strOrdner = "" Then Exit Sub
strSF = MsgBox("Mit Unterordnern?", vbYesNo)
bekomme aber immer Fehlermeldungen!