Anzeige
Archiv - Navigation
380to384
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
380to384
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verzeichnisauswählen

Verzeichnisauswählen
16.02.2004 18:44:58
Philipp
Hallo,
es gibt doch in Windows so einen Standarddialog, wenn ein Nutzer keine Datei sondern nur ein Verzeichnis aus wählen soll.
Weis jemand von euch wie man diesen Dialog in VBA zu leben erweckt.
Danke im Voraus
Philipp

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verzeichnisauswählen
16.02.2004 19:01:26
Nepumuk
Hallo Phillip,
meinst du so etwas?

Option Explicit
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As InfoT) As Long
Private Declare Function CoTaskMemFree Lib "ole32" (ByVal hMem As Long) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpStr1 As String, ByVal lpStr2 As String) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pList As Long, ByVal lpBuffer As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassname As String, ByVal lpWindowName As String) As Long
Private Type InfoT
hwnd As Long
Root As Long
DisplayName As Long
Title As Long
Flags As Long
FName As Long
lParam As Long
Image As Long
End Type
Private Function GetAOrdner() As String
Dim xl As InfoT, IDList As Long, RVal As Long, FolderName As String
With xl
.hwnd = FindWindow("xlmain", vbNullString)
.Title = lstrcat("Bitte wählen Sie ein Verzeichnis", "")
'        .Flags = &H40 'neuen Ordner anlegen
.Flags = &H1 'keinen neuen Ordner anlegen
End With
IDList = SHBrowseForFolder(xl)
If IDList <> 0 Then
FolderName = Space(256)
RVal = SHGetPathFromIDList(IDList, FolderName)
CoTaskMemFree (IDList)
FolderName = Trim(FolderName)
FolderName = Left(FolderName, Len(FolderName) - 1)
End If
GetAOrdner = FolderName
End Function
Public Sub Ordner_suchen()
MsgBox GetAOrdner
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige
AW: Verzeichnisauswählen
16.02.2004 19:08:21
Philipp
Hallo Nepumuk,
sei mir nicht böse, ich find Dein Listing echt krass. Aber wenn ich es ausführe erscheint bei mir eine msgbox ohne Inhalt. Was mach ich falsch?
Außerdem war das war mit vorschwebte ein Dialog wo der Benutzer einen Pfad auswählen soll.
Grüße
Philipp
AW: Verzeichnisauswählen
16.02.2004 19:14:20
Nepumuk
Hallo Phillip,
wenn du natürlich auf Ok klickst, ohne einen Ordner ausgewählt zu haben, kommt natürlich eine leere MsgBox. Die war ja nur zum testen gedacht, damit du siehst, wie es funktioniert.
Gruß
Nepumuk
AW: Verzeichnisauswählen
16.02.2004 19:35:40
Philipp
Hallo Nepumuk,
du hast mich falsch verstanden, bei mir kommt da gar kein so ein Dialog.
Grüße
Anzeige
AW: Verzeichnisauswählen
16.02.2004 22:10:14
Nepumuk
Hallo Phillip,
was für ein Betriebssystem hast du? Der Dialog funktioniert mit Win 95 / 98 / ME / 2000 und NT. Nur mit XP habe ich es noch nicht versuchen können.
Gruß
Nepumuk
AW: Verzeichnisauswählen
16.02.2004 22:11:47
Philipp
XP :-)
Aber ich hab jetzt das andere in Thread erwähnte Skript genommen. Danke.
Verzeichnisauswählen Info XP
16.02.2004 22:17:59
PeterW
Hallo Nepumuk,
hab es gerade unter XP probiert und läuft ohne Probleme.
Gruß
Peter
Danke Peter
16.02.2004 23:11:01
Nepumuk
AW: Verzeichnisauswählen
16.02.2004 19:11:19
Philipp
so ein ding meine ich
Userbild
AW: Verzeichnisauswählen
16.02.2004 19:20:33
K.Rola
Hallo,
Option Explicit

Sub Ordner_Auswahl()
Dim objShell As Object, objFolder As Object, strPfad As Variant
Set objShell = CreateObject("Shell.Application")
With objShell
Set objFolder = .BrowseForFolder(0&, "Ordner wählen oder anlegen...", 0, 17)
End With
On Error Resume Next
strPfad = objFolder.Title
If Not IsEmpty(strPfad) Then MsgBox strPfad
End Sub

Gruß K.Rola
Anzeige
AW: Verzeichnisauswählen
16.02.2004 21:05:10
Christian
Hi K.Rola,
Dein Vorschlag gefällt mir gut. Kann ich bei diesem Dialog ein Startverzeichnis vorgeben ? z.B. "F:\Sonstwo" ?
Grüsse Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige