Automatisch von DOC zu DOCX und von XLS zu XLSX

Der Umstieg auf das DOCX- und XLSX-Format hat sich eigentlich seit Office 2007 angeboten, doch manche Übersetzerin arbeitet mit Auftraggebern zusammen, die erst jetzt dieses „neue“ Format standardmäßig nutzen. Für eine möglichst bequeme Weiterverwendung „alter“ Word- und Excel-Dokumente – ohne aufwändige händische Dateiformatumstellung beim Speichern – bietet es sich an, die alten Dateien per Makro in das neue Format zu überführen. Die folgenden beiden Makros kopieren DOC- und XLS-Dateien und speichern sie im neuen Word- bzw. Excel-Format ab.

Excel-Makro zur automatischen Konvertierungvom XLS- ins XLSX- oder XLSM-Format

Das folgende Makro für Word 2007 (und Folgeversionen) stammt ursprünglich von answers.microsoft.com. Es kopiert alle im Ordner D:Exceldateikonvertierung enthaltenen XLS-Dateien und konvertiert sie in das XLSX- bzw. das XLSM-Format. XLSX wird dabei für Dateien verwendet, die keine Makros enthalten, und XLSM für Dateien mit Makros.

Sub ConvertToXlsx()
  Dim strPath As String
  Dim strFile As String
  Dim wbk As Workbook
  ' Path must end in trailing backslash
  strPath = "D:Exceldateikonvertierung"
  strFile = Dir(strPath & "*.xls")
  Do While strFile ""
   If Right(strFile, 3) = "xls" Then
 
    Set wbk = Workbooks.Open(Filename:=strPath & strFile)
 
    If wbk.HasVBProject Then
     wbk.SaveAs Filename:=strPath & strFile & "m", _
      FileFormat:=xlOpenXMLWorkbookMacroEnabled
    Else
     wbk.SaveAs Filename:=strPath & strFile & "x", _
      FileFormat:=xlOpenXMLWorkbook
    End If
    wbk.Close SaveChanges:=False
   End If
   strFile = Dir
  Loop
 End Sub

Der Speicherort, auf den das Makro bei Konvertierung zugreift, kann durch die Anpassung der Makro-Zeile strPath = „D:Exceldateikonvertierung“ geändert werden.

Word-Makro zur automatischen Konvertierung vom DOC- ins DOCX- oder DOCM-Format

Das folgende Makro kopiert alle im Ordner D:Worddateikonvertierung enthaltenen DOC-Dateien und konvertiert sie in das DOCX- bzw. das DOCM-Format (DOCX für Dateien, die keine Makros enthalten, und DOCM für Dateien mit Makros).

Sub VonDocNachDocx()
Dim strPath As String
Dim strFile As String
Dim doc As Document
' Pfadangabe muss mit einem Backslash enden
strPath = "D:Worddateikonvertierung"
strFile = Dir(strPath & "*.doc")
Do While strFile ""
If Right(strFile, 3) = "doc" Then

Set doc = Documents.Open(FileName:=strPath & strFile)

If doc.HasVBProject Then
doc.SaveAs FileName:=strPath & strFile & "m", _
FileFormat:=wdFormatXMLDocumentMacroEnabled
Else
doc.SaveAs FileName:=strPath & strFile & "x", _
FileFormat:=wdFormatXMLDocument
End If
doc.Close SaveChanges:=False
End If
strFile = Dir
Loop
End Sub

Auch hier kann der Speicherort, auf den das Makro bei Konvertierung zugreift, durch die Anpassung der Makro-Zeile strPath = „D:Worddateikonvertierung“ geändert werden.

1 Kommentar

  1. Gert Nagsch

    Wirklich ein hilfreiches Makro. Denn ich habe noch wirklich viele alte Word und Excel Files rumliegen die einfach mal auf den neuesten Stand der Dinge gebracht werden müssen. Zumindest habe ich das Problem mit meinem Übersetzungsbüro nicht. Da neue Files ja schon Standartmäßig von beiden Seiten in xlsx und docx verschickt werden. Warum Microsoft das aber geändert hat, frage ich mich bis heute. Steckt wohl wieder die Geldmacherei dahinter 🙂
    Lg, Gert

    Antworten

Hinterlassen Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.