Hromadný převod souborů doc na docx

Asi nejjednodušší způsob, jak převést dokumenty s příponou doc na docx, je pomocí makra ve Wordu. Otevřeme Word a vytvoříme si nový soubor např. doc2docx, který uložíme s příponou doc2docx.docm (docx s podporou maker).  Následně zmáčkneme klávesovou zkratku Alt+F11. Otevře se nám prostředí pro programování maker.

Do souboru doc2docx vložíme modul pomocí nabídky Insert>Module nový modul.

mass convert doc2docx

hromadný převod doc na docx

Do modulu nakopírujeme makro. Adresář musí obsahovat jen dokumenty *.doc, jinak skončí chybou.

1. Makro s nadefinovaná cestou pro konverzi, cesta je nastavená na adresář c:\doc2docx\:

Sub TranslateDocIntoDocx()
  Dim objWordApplication As New Word.Application
  Dim objWordDocument As Word.Document
  Dim strFile As String
  Dim strFolder As String

  strFolder = "c:\Doc2Docx\"
  strFile = Dir(strFolder & "*.doc", vbNormal)
  
  While strFile <> ""
    With objWordApplication      
      Set objWordDocument = .Documents.Open(FileName:=strFolder &strFile, AddToRecentFiles:=False, ReadOnly:=True, Visible:=False)
          
      With objWordDocument
        .SaveAs FileName:=strFolder & Replace(strFile, "doc", "docx"), FileFormat:=16
        .Close
      End With
    End With
    strFile = Dir()
  Wend   

  Set objWordDocument = Nothing
  Set objWordApplication = Nothing
End Sub

2. Nebo makro s výběrem adresáře:

Sub ConvertDocToDocx()
'Updated by ExtendOffice 20181128
Dim xDlg As FileDialog
Dim xFolder As Variant
Dim xFileName As String
Application.ScreenUpdating = False
Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xDlg.Show <> -1 Then Exit Sub
xFolder = xDlg.SelectedItems(1) + "\"
xFileName = Dir(xFolder & "*.doc", vbNormal)
While xFileName <> ""
Documents.Open FileName:=xFolder & xFileName, _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:=""
ActiveDocument.SaveAs xFolder & Replace(xFileName, "doc", "docx"), wdFormatDocumentDefault
ActiveDocument.Close
xFileName = Dir()
Wend
Application.ScreenUpdating = True
End Sub

Pak makro spustíme tlačítkem „run“.

Vložení a spuštění makra.

Vložení a spuštění makra.

Zdroj:

https://www.datanumen.com/blogs/3-quick-ways-to-batch-convert-word-doc-to-docx-files-and-vice-versa/
https://cs.extendoffice.com/documents/word/5601-word-batch-convert-doc-to-docx.html

Pomohl Vám článek a chcete nás odměnit? Pošlete nám platbu přes paypal nebo na BTC peněženku 1bBr5iNS337NVzWjkvvH31bjmDvH4kfGb