Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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

Dir Funktion Variable

Dir Funktion Variable
07.04.2020 11:43:47
Jochen
Hallo zusammen,
ich möchte alle Dokumente in einem Verzeichnis nacheinander mit dem gleichen Makro bearbeiten. Das öffnen und Bearbeiten der einzelnen Dokumente im Verzeichnis ist mir soweit auch gelungen. Jedoch muss ich so jedes Mal den Verzeichnisordner im Makro ändern.
Nun wollte ich den Pfad abfragen und als variable an die Dir-Funktion übergeben. Diese wir jedoch von der Dir-Funktion nicht erkannt.
Vielleicht hat mir ja jemand eine Lösung dafür :D
Gruß Jochen
Hier mein Code:

Sub Test()
Dim x As String
Dim AppShell As Object
Dim BrowseDir As Variant
Dim Pfad As String
Set AppShell = CreateObject("Shell.Application")
Set BrowseDir = AppShell.BrowseForFolder(0, "Ordner auswählen", &H1000, 17)
On Error Resume Next
Pfad = BrowseDir.items().Item().Path
If Pfad = "" Then Exit Sub
On Error GoTo 0
a = Chr(34) & Pfad & "\" & "*.xlsx" & Chr(34)
x = Dir(a * ".xlsx")
Do
'Bearbeitung der Daten
x = Dir()
Loop Until x = ""
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Fragen
07.04.2020 11:50:06
Fennek
Hallo,
zuerst einige Fragen:
- sollen alle Unterordner eines Stammverzeichnisses bearbeitet werden
falls ja: dir /s bzw rekursives FSO
- gibt es Leerzeichen oder Umlaute in Pfad- bzw Dateinamen (dann API oder FSO)
- gibt es nur eine Ebene von Unterordner (dann FSO)
mfg
(FSO: FileScriptingObject)
AW: Dir Funktion Variable
07.04.2020 11:57:09
Nepumuk
Hallo Jochen,
teste mal:
Option Explicit

Sub Test()
    Dim x As String
    Dim AppShell As Object
    Dim BrowseDir As Object
    Dim Pfad As String
    
    Set AppShell = CreateObject("Shell.Application")
    Set BrowseDir = AppShell.BrowseForFolder(0, "Ordner auswählen", &H1000, 17)
    On Error Resume Next
    Pfad = BrowseDir.items().Item().Path
    If Pfad = "" Then Exit Sub
    On Error GoTo 0
    
    Set AppShell = Nothing
    Set BrowseDir = Nothing
    
    Pfad = Pfad & "\" & "*.xlsx"
    
    x = Dir$(Pfad)
    Do Until x = vbNullString
        'Bearbeitung der Daten
        x = Dir$
    Loop
End Sub

Gruß
Nepumuk
Anzeige
AW: Dir Funktion Variable
07.04.2020 16:42:03
Jochen
Hallo Nepumuk
danke dir für die Antwort so hat es Funktioniert :D
Gruß Jochen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige