Declare
Function
SHGetPathFromIDList
Lib
"shell32.dll"
Alias
"SHGetPathFromIDListA"
(
ByVal
pidl
As
Long
,
ByVal
pszPath
As
String
)
As
Long
Declare
Function
SHBrowseForFolder
Lib
"shell32.dll"
Alias
"SHBrowseForFolderA"
(lpBrowseInfo
As
BROWSEINFO)
As
Long
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
Sub
Ordnerauswahl_starten()
Dim
OrdnerName
OrdnerName = FunktionGetDirectory(
"Ordner der SAP-Dateien auswählen"
)
MsgBox OrdnerName
End
Sub
Function
FunktionGetDirectory(
Optional
strAufforderung)
As
String
Dim
bInfo
As
BROWSEINFO
Dim
Path
As
String
Dim
r
As
Long
, x
As
Long
, pos
As
Integer
bInfo.pidlRoot = 0&
If
IsMissing(strAufforderung)
Then
bInfo.lpszTitle =
"Wählen Sie bitte einen Ordner aus."
Else
bInfo.lpszTitle = strAufforderung
End
If
bInfo.ulFlags = &H1
x = SHBrowseForFolder(bInfo)
Path = Space$(512)
r = SHGetPathFromIDList(
ByVal
x,
ByVal
Path)
If
r
Then
pos = InStr(Path, Chr$(0))
FunktionGetDirectory = Left(Path, pos - 1)
Else
FunktionGetDirectory =
""
End
If
End
Function