Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
580to584
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
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

CommonDialog als Pfad Selektierer ?

CommonDialog als Pfad Selektierer ?
03.03.2005 17:04:48
Ebeling
Hallo Zusammen,
ich bin auf der Suche nach einer Möglichkeit Pfade in einem Dialog auszuwählen.
Für Dateien gibt es ja den CommonDialog, kann man den so konfigurieren das er die Auswahl von Pfaden zulässt oder gibt es da einen anderen Dialog?
CU
Gebhard

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

Betreff
Datum
Anwender
Anzeige
AW: CommonDialog als Pfad Selektierer ?
03.03.2005 17:46:21
Nepumuk
Hallo Gebhard,
versuch es mal so:


Option Explicit
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As InfoT) As Long
Private Declare Function CoTaskMemFree Lib "ole32" (ByVal hMem As LongAs Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpStr1 As StringByVal lpStr2 As StringAs Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pList As LongByVal lpBuffer As StringAs Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassname As StringByVal lpWindowName As StringAs 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 Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Const BIF_DONTGOBELOWDOMAIN As Long = &H2
Private Const BIF_RETURNFSANCESTORS As Long = &H8
Private Const BIF_RETURNONLYFSDIRSCREATENEW As Long = &H40
Private Const BIF_BROWSEFORCOMPUTER As Long = &H1000
Private Const BIF_BROWSEFORPRINTER As Long = &H2000
Private Const BIF_BROWSEINCLUDEFILES As Long = &H4000
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 = BIF_RETURNONLYFSDIRS
    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


Gruß
Nepumuk
Anzeige
AW: CommonDialog als Pfad Selektierer ?
03.03.2005 18:05:07
K.Rola
Hallo Nepumuk,
das geht auch viel einfacher, interessiert?
Gruß K.Rola
AW: CommonDialog als Pfad Selektierer ?
03.03.2005 18:12:25
Nepumuk
Liebste K.Rola,
diesbezüglich ist mein Gehirn ein schwarzes Loch, welches alles aufsaugt was in die Nähe seines Ereignishorizontes gerät. :-)
Gruß
Nepumuk
AW: CommonDialog als Pfad Selektierer ?
03.03.2005 18:18:56
Nepumuk
Hi K.Rola,
ich glaube jetzt zu wissen was du meinst: "Windows Script Host" Richtig?
Gruß
Nepumuk
CommonDialog als Pfad Selektierer über WSH
04.03.2005 10:15:31
Ebeling
Guten Morgen alle zusammen,
wie geht es denn nun einfacher? lasst mich nicht dumm sterben.
Ist der WSH die Richtige Spur?
Ich habe die Lösung zwar übernommen und sie läuft auch problemlos, da ich den Code aber nicht die Bohne verstehe bin ich beim ersten Fehler gnadenlos aufgeschmissen.
CU
Gebhard
Anzeige
AW: CommonDialog als Pfad Selektierer über WSH
04.03.2005 14:27:18
Nepumuk
Hallo Gebhard,
Nein, damit kann ich einen Dateidialog aufrufen, das hatte ich verwechselt. Das ganze wird über das Shell - Objekt aufgerufen, ist aber auch nicht leserlicher wie der API - Aufruf. Den Code, den du von mir bekommen hast, setze ich seit Jahren ohne Probleme ein. Du musst also nicht befürchten, dass du in den nächsten Tagen eine Fehlermeldung bekommst.
Gruß
Nepumuk
AW: CommonDialog als Pfad Selektierer über WSH
04.03.2005 14:31:37
Ebeling
Gut ich probiers aus,
nochmal danke für Deine Mühe.
CU
Gebhard
AW: aus den FAQ
03.03.2005 17:56:19
ransi
HAllo gerd
Mühsam aus den FAQ abetippt.
bei mir läufts, aber frag mich bitte nicht was dahinter steckt...
https://www.herber.de/bbs/user/19174.xls
vieleicht versteht du ja was von den API's und es hilft die weiter.
ransi
Anzeige
AW: CommonDialog als Pfad Selektierer ?
03.03.2005 18:04:55
Ebeling
1000 Dank,
es geht! Aber der Code sieht wirklich etwas eigenartig aus...
Wie kommt man auf sowas?
Sind die verwendeten Schnittstellen aus der öffentlichen WIN32 API ?
CU
Gebhard
AW:Nepumuk weiss sowas !
03.03.2005 18:10:23
ransi
hallo Gebhard
wie ich schon sagte, "Frag mich bitte nicht..."
Die API's sind wirklich nicht meine welt !!
Aber wenn Nepumuk das hier liest ist er vielleicht so nett und erklärt uns das teil.
ransi
AW: AW:Nepumuk weiss sowas !
03.03.2005 18:15:12
Nepumuk
Hallo Gebhard,
das sind Standard - DLL's die sich auf jedem Betriebssystem von Microsoft befinden.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige