Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verzeichnis kürzer anzeigen

Forumthread: Verzeichnis kürzer anzeigen

Verzeichnis kürzer anzeigen
13.10.2018 16:17:24
sigrid
Guten Tag,
hab mal wieder eine Frage.
Ich habe folgendes Makro für das Auflisten der Anzahl der
vorhandenen Dateien:

Sub test2()
Dim lngCount As Long
Dim strPath, strPathV As String, lngRow As Long
strPath = ShellBrowseForFolder("C:\_Muster\__Dokumente\_Geschäftsstelle_Testfirma\ _
_Testfirma_Angebote")
If Len(strPath) Then
If Range("C5") = "" Then
lngRow = 5
Else
lngRow = Cells(Rows.Count, 3).End(xlUp).Row + 1
End If
Cells(lngRow, 1) = strPath
Cells(lngRow, 3) = countFiles(Directory:=strPath, SubFolders:=True)
End If
End Sub

Ich möchte gern den Namen vom Verzeichnis aber erst ab den kurzen Namen ab: __Testfirma_Angebote
in Spalte 1 setzen.
mfg
sigrid
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verzeichnis kürzer anzeigen ZUSATZ
13.10.2018 16:24:49
sigrid
Hallo zusammen,
ich erstelle gerade eine Userform und möchte darin das Verzeichnis und den Monat
auswählen.
Vielleicht hat jemand ein Beispiel ?
mfg
sigrid
Ergänzung
13.10.2018 17:20:02
sigrid
Hallo zusammen,
dises beiden Makros gehören dazu:
Private Function ShellBrowseForFolder(Optional StartPath As String = "") As String
Dim objShell    As Object
Dim lngRoot     As Long
Dim objFolder   As Object
lngRoot = 17
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "Ordner auswählen", 0, IIf(Len(StartPath),  _
StartPath, lngRoot))
'Set objFolder = objShell.BrowseForFolder(0, "Ordner auswählen", 0, IIf(Len(StartPath),  _
StartPath, lngRoot))
If Not objFolder Is Nothing Then
ShellBrowseForFolder = objFolder.Self.Path
End If
Set objFolder = Nothing
Set objShell = Nothing
End Function

Private Function countFiles(ByVal Directory As String, Optional ByVal FileName As String = "",  _
Optional ByVal SubFolders As Boolean = False) As Long
Dim objFSO As Object, objFolder As Object, objFile As Object, objSubF As Object
Dim lngCount As Long
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Directory)
If Len(FileName) Then
For Each objFile In objFolder.Files
If objFile.Name Like FileName Then lngCount = lngCount + 1
Next
Else
lngCount = objFolder.Files.Count
End If
If SubFolders Then
For Each objSubF In objFolder.SubFolders
lngCount = lngCount + countFiles(objSubF.Path, FileName, SubFolders)
Next
End If
countFiles = lngCount
Set objSubF = Nothing
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
End Function

funktioniert alles, ich möchte NUR die letzten beiden Verzeichnisse angezeigt
erhalten, in diesem Fall das Jahr und der Monat.
mfg
sigrid
Anzeige
erledigt -)
13.10.2018 17:50:35
sigrid
Hallo zusammen,
habe mal recherchiert, alles ein wenig umständlich.
Deswegen setzte ich den Pfad in A1 und kürze da als Text.
gruß
sigrid
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige