Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
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
Inhaltsverzeichnis

Macro zur Inhaltsauflistung eines Ordner

Macro zur Inhaltsauflistung eines Ordner
29.04.2021 10:35:21
Paul
Guten Tag Zusammen,
wir haben folgende Problematik:
Wir wollen ein Inhaltsverzeichnis via Makro von Ordnern, welche sich auf einer Onedrive befinden, erstellen. Wir haben folgendes Makro (unten angehängt), haben damit aber noch kleinere Probleme.
1. Wir können momentan nur lokale Ordner auswählen, die OneDrive Ordner welche man normalerweise neben anderen Festplatten auswählen kann, werden in der Auswahl nicht angezeigt. Gibt es da irgendeine Lösung?
2. Als zusätzliche Hilfe, hätten wir gerne eine Leiste links, wie im angehängten Foto gezeigt. Hat da jemand eine Idee wie wir das hinbekommen könnten?
3. Die Auflistung der Dateien und Ordner soll erst in der zweiten Zeile beginnen. Wie bauen wir das am besten wo ein?
Code:

Option Explicit
Dim lngColumn As Integer
Dim objFSO As Object
Dim objFOL As Object
Dim objFIL As Object
Dim objFO As Object
Dim objFU As Object
Dim lngRow As Long
Public Sub Ordner_Dateien_Auflisten()
Dim objShell As Object
Dim varDir As Variant
Dim strTMP As String
Set objShell = CreateObject("Shell.Application")
Set varDir = objShell.BrowseForFolder(0, "Folder", &H4000, 17)
Application.ScreenUpdating = False
On Error Resume Next
strTMP = varDir.Self.Path
On Error GoTo 0
On Error GoTo Fin
If strTMP  "" And Left(strTMP, 2)  "::" Then
If Right(strTMP, 1)  "\" Then strTMP = strTMP & "\"
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
Tabelle1.Cells.Clear ' eventuell anpassen
lngRow = 0
lngColumn = 0
GetSubFolders_Files strTMP
Tabelle1.Columns.AutoFit
Fin:
Application.ScreenUpdating = True
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & " " & Err.Description
Set objShell = Nothing
Set varDir = Nothing
End Sub
Private Function GetSubFolders_Files(ByVal strPath As String) As String
Set objFO = objFSO.GetFolder(strPath)
Set objFU = objFO.SubFolders
With Tabelle1 ' eventuell anpassen
lngRow = lngRow + 1
lngColumn = lngColumn + 1
.Cells(lngRow, lngColumn).NumberFormat = "@"
.Cells(lngRow, lngColumn) = objFO.Name
.Hyperlinks.Add _
Anchor:=.Cells(lngRow, lngColumn), _
Address:=strPath, _
TextToDisplay:=.Cells(lngRow, lngColumn).Value
.Cells(lngRow, lngColumn).Font.Bold = True
.Cells(lngRow, lngColumn).Font.ColorIndex = 3
For Each objFIL In objFO.Files
lngRow = lngRow + 1
.Cells(lngRow, lngColumn + 1) = objFIL.Name
.Hyperlinks.Add _
Anchor:=.Cells(lngRow, lngColumn + 1), _
Address:=objFIL.Path, _
TextToDisplay:=.Cells(lngRow, lngColumn + 1).Value
Next objFIL
End With
For Each objFOL In objFU
GetSubFolders_Files objFOL.Path
Next objFOL
lngColumn = lngColumn - 1
End Function
Foto zu 2.:

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macro zur Inhaltsauflistung eines Ordner
29.04.2021 10:57:01
Rudi
Hallo,
1. Bei mir kann ich den lokalen OneDrive-Ordner anwählen. Kann aber sein, dass das nur geht, weil ich ihn auf ein anderes Laufwerk verschoben habe.
2. kann man über Gruppierungen lösen.
3. lngRow=1 statt lngRow=0
Gruß
Rudi
AW: Macro zur Inhaltsauflistung eines Ordner
29.04.2021 11:43:58
Paul
Oh ok, vielen Lieben Dank, unabhängig davon, kommt bei mir (benutze einen Mac) ein Fehler (Foto angehängt), der bei meinem Kollegen (Windows) nicht kommt. Wir nutzen beide die selbe Excel Version, weißt du da Abhilfe?
Vielen Dank für die Antwort!

kann ich nicht helfen. Hab keinen Mac.
29.04.2021 11:49:04
Rudi
AW:Abhilfe nur bei Wechsel auf WIN-PC (owT)
29.04.2021 11:50:42
EtoPHG

AW: Macro zur Inhaltsauflistung eines Ordner
29.04.2021 11:55:39
Daniel
Hi
der Fehler kommt, wenn du bei CreateObjekt("...") einen falschen Text angegeben hast.
da du hier mit Betriebssytem-Objekten arbeitest ("Shell", "FileSystem"), wird das wahrscheinlich bei Mac und Windows unterschiedlich sein.
du müsstest also rausfinden, wie man das beim Mac programmiert (leider kann ich dir da auch nicht weiterhelfen) und dann in deinem Code überprüfen, was für ein Rechner gerade im Einsatz ist (sollte über die Version oder den Application.PathSeperator (Mac: /, Win: \) möglich sein) und dann differenziert programmieren.
Gruß Daniel
Anzeige
AW: Macro zur Inhaltsauflistung eines Ordner
29.04.2021 12:54:52
Paul
Hmm ok, danke erstmal. Hast du/Habt Ihr denn eine Möglichkeit wie ich mir des kompletten Desktops also z.B. des Benutzers, die Bibliotheken und die die im Netzwerk sind,auswählen kann anstatt nur denen von "Dieser PC"? Das würde enorm weiter helfen, vielen Dank!
AW: Macro zur Inhaltsauflistung eines Ordner
29.04.2021 11:07:51
Günther
Moin Paul,
ich habe keine Probleme, meinen kompletten OneDrive-Ordner in Excel aufzulisten. Allerdings nutze ich kein VBA sondern PQ.
 
Gruß
Günther  |  mein Excel-Blog

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige