Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
764to768
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
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro

Makro
22.05.2006 09:31:30
Basti
Hallo Cracks,
hab folgende Makro, um einen Pfad auszuwählen um diesen dann schließlich nach Exceldateien zu durchsuchen.
Das Problem ist, dass ich leider keine Netzlaufwerke angezeigt bekomme, sondern nur die Laufwerke, die auf meinem Rechner vorhanden sind. Hab ich was übersehen?
Danke schonmal!
Hier der meiner Ansicht nach relevante Teil:

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_BROWSEINCLUDEFILES
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bei mir läuft es !
22.05.2006 11:35:16
Heiko S.
Hallo Basti,
hab mir das Teil von Nepumuk mal komplett runtergeladen und getestet (WinXP EXCEL 2002), also bei mir läuft das Netzwerklaufwerke werden mit angezeigt.
Vielleicht hat das was mit Zugriffsrechten zu tun, davon hab ich aber keine Ahnung.
Laß die Frage darum mal offen.
Option Explicit
' von Nepumuk
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_BROWSEINCLUDEFILES As Long = &H4000
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 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_BROWSEINCLUDEFILES
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

Sub Aufruf()
Dim Stordner As String
Stordner = GetAOrdner ' Verzeichnis auswählen
End Sub
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Bei mir läuft es !
26.05.2006 18:41:16
schauan
Hallo,
bei mir läuft es auch. Bekommst Du auch die kommpletten Strukturen angezeigt, z.B. "Netzwerkumgebung" ?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige