Auf unsreme Firmenrechner existiert ein Ordner mit 3500 Dateien im .doc Format, welches veraltet ist. Hier schlägt mir Word vor den Kompatibilitätsmodus zu benutzen um es in das neue Format zu übernehmen.
Manuell kann ich das ganze so machen:
.doc Datei öffnen - Speichern unter - Durchsuchen - Zielordner wählen - Bei Dateityp dann "Word-Dokument (*.docx)" auswählen - Speichern
Und zack ist das Worddokument konvertiert ins neue Format.
Nun hätte ich dazu ein VBA-Makro geschrieben, damit alles automatisiert funktioniert und ich mir den ganzen Aufwand spare.
Das funktioniert an sich auch, das Dokument wird als .docx abgespeichert und wird beim Typ mit der neuen Wordversion ausgewiesen. Beim Öffnen des Words wird leider, unter Datei - Informationen, trotzdem noch der Kompatibilitätsmodus angezeigt. Wählt man diesen aus, verschwindet die Auswahlmöglichkeit direkt, also eig ist der Modus bereits abgeschlossen. Was kann ich tun, das der Modus nichtmehr angezeigt wird, also auch wirklich alles abgeschlossen ist?
Sub ConvertDocsToDocx()
Dim sourceFolder As String
Dim targetFolder As String
Dim fileName As String
Dim doc As Document
' Setze den Pfad des Quellordners
sourceFolder = "C:\Users\sbutz\Desktop\Test2\"
' Setze den Pfad des Zielordners
targetFolder = "C:\Users\sbutz\Desktop\Test2 neu\"
' Überprüfe, ob der Quellordner existiert
If Dir(sourceFolder, vbDirectory) = "" Then
MsgBox "Der Quellordner existiert nicht.", vbExclamation
Exit Sub
End If
' Überprüfe, ob der Zielordner existiert
If Dir(targetFolder, vbDirectory) = "" Then
MsgBox "Der Zielordner existiert nicht.", vbExclamation
Exit Sub
End If
' Schleife durch alle .doc-Dateien im Quellordner
fileName = Dir(sourceFolder & "*.doc")
Do While fileName <> ""
' Öffne die .doc-Datei
Set doc = Documents.Open(sourceFolder & fileName)
' Speichere die .doc-Datei als .docx-Datei im Zielordner
doc.SaveAs2 targetFolder & Left(fileName, Len(fileName) - 4) & ".docx", FileFormat:=wdFormatXMLDocument
' Schließe die .doc-Datei
doc.Close
' Gehe zur nächsten .doc-Datei
fileName = Dir
Loop
MsgBox "Die Konvertierung wurde abgeschlossen.", vbInformation
End Sub
|