Hallo zusammen,
ich bräuchte bitte eure Hilfe bei einem Problem.
Use Case: ich habe mehrere Ordner mit diversen Unterordnern (dabei kann die Anzahl der Unterordner varrieren). Im letzten Unterordner befinden sich Word Dokumente, welche alle mit einem Schreibschutz belegt sind. Ich möchte diese Word Dokumente alle gleichzeitig entsperren.
Folgendes Makro haben wir erstellt:
Das „Sub Test” alleine funktioniert, wenn sich alle Dokumente in einem Ordner befinden. Aber der Zugriff auf die Unterordner funktioniert leider nicht.
Ich hoffe wirklich sehr, dass mir jemand helfen kann, ich müsste sonst ca. 1300 Ordner öffnen und die Dokumente rauskopieren.
Vielen lieben Dank schonmal und schöne Grüße
Jule
CodeTags gesetzt ~VaporiZed
ich bräuchte bitte eure Hilfe bei einem Problem.
Use Case: ich habe mehrere Ordner mit diversen Unterordnern (dabei kann die Anzahl der Unterordner varrieren). Im letzten Unterordner befinden sich Word Dokumente, welche alle mit einem Schreibschutz belegt sind. Ich möchte diese Word Dokumente alle gleichzeitig entsperren.
Folgendes Makro haben wir erstellt:
Visual Basic-Quellcode
- Sub Unterordner()
- '
- Const sSourcePath As String = "C:\Users\JRademacher\Desktop\Test Schreibschutz\Mit Schreibschutz"
- Dim fld, file
- Dim fso As Object
- Dim objFld As Object
- Dim objSubFld As Object
- Dim objFiles As Object
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set objFld = fso.getfolder(sSourcePath)
- Set objSubFld = objFld.SubFolders
- For Each fld In objSubFld
- Set objFiles = fld.Files
- For Each file In objFiles
- Application.Documents.Open (file.path)
- Call Test()
- ActiveWorkbook.Close savechanges:=False
- Next
- Next
- End Sub
- Sub Test()
- '
- ' Test Makro
- ' Entfernt das Passwort von allen Word-Dateien aus Quelle und
- ' schreibt die Worddateien ohne Passwort nach Ziel
- Const Quellverzeichnis = "C:\Users\JRad\Desktop\Test Schreibschutz\Mit Schreibschutz"
- Const Zielverzeichnis = "C:\Users\JRad\Desktop\Test Schreibschutz\Ohne Schreibschutz"
- Const MyPasswort = "1234"
- Dim DatNam As String
- DatNam = Dir(Quellverzeichnis & "\*.doc") '1. Dateinamen holen
- Do Until DatNam = "" 'Alle Files im VZ abklappern
- ' Worddatei mit Passwort öffnen
- Documents.Open FileName:=Quellverzeichnis & "\" & DatNam, ConfirmConversions:=False, ReadOnly:= _
- False, AddToRecentFiles:=False, PasswordDocument:=MyPasswort, PasswordTemplate:= _
- "", Revert:=False, WritePasswordDocument:=MyPasswort, WritePasswordTemplate:= _
- "", Format:=wdOpenFormatAuto
- ' Worddatei ohne Passwort schreiben
- ActiveDocument.SaveAs FileName:=Zielverzeichnis & "\" & DatNam, FileFormat:=docx, _
- LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
- :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
- SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
- False
- ' Dokument schließen
- ActiveDocument.Close
- ' nächste Datei holen
- DatNam = Dir
- Loop
- End Sub
Das „Sub Test” alleine funktioniert, wenn sich alle Dokumente in einem Ordner befinden. Aber der Zugriff auf die Unterordner funktioniert leider nicht.
Ich hoffe wirklich sehr, dass mir jemand helfen kann, ich müsste sonst ca. 1300 Ordner öffnen und die Dokumente rauskopieren.
Vielen lieben Dank schonmal und schöne Grüße
Jule
CodeTags gesetzt ~VaporiZed
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()