vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Dateisystem · Ordner & Verzeichnisse   |   VB-Versionen: VB5, VB622.10.03
Ordner-Auswahl-Dialog ohne das Windows-API

Der Windows-Standard-Dialog zur Auswahl eines Ordners lässt sich mit Hilfe der Shell32.DLL mit einem Fünfzeiler aufrufen.

Autor:   Dieter OtterBewertung:  Views:  29.088 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Viele Wege führen nach Rom, so auch die Möglichkeit den Standard-Dialog für die Auswahl eines Ordners aufzurufen. Neben der Möglichkeit über das Windows-API lässt sich der Ordner-Auswahl-Dialog auch direkt über die BrowseForFolder-Funktion der SHELL32.DLL Library aufrufen. Und das ganze ist dann sogar nur ein Fünfzeiler!

' Ordner-Auswahl-Dialog aufrufen
Dim oShell As Object
Dim oFolder As Object
Set oShell = CreateObject("Shell.Application")
Set oFolder = oShell.BrowseForFolder(Me.hWnd, "Bitte einen Ordner auswählen", 1)
If Not oFolder Is Nothing Then MsgBox oFolder.Self.Path

Das ganze packen wir jetzt aber in eine ordentliche Funktion, die uns als Rückgabe den Ordner liefert bzw. einen Leerstring, falls kein Ordner ausgewählt wurde:

' Ordner-Auswahl-Dialog über die SHELL32.DLL aufrufen
Public Function BrowseForFolder(ByVal sTitle As String) As String
  Dim oShell As Object
  Dim oFolder As Object
 
  Set oShell = CreateObject("Shell.Application")
  Set oFolder = oShell.BrowseForFolder(Me.hWnd, sTitle, 1)
  If Not oFolder Is Nothing Then
    BrowseForFolder = oFolder.Self.Path
  End If
  Set oFolder = Nothing
  Set oShell = Nothing
End Function



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.