Note: The other languages of the website are Google-translated. Back to English
English English

如何在Word中将.doc格式文件批量转换为.docx?

假设您已收到一些97-2003格式的Word文档,如何将所有这些.doc格式文档一次批量转换为.docx格式? 本文将向您展示两种解决此问题的方法。

使用VBA代码将.doc格式文件批量转换为.docx
使用Kutools for Word将.doc格式文件批量转换为.docx


使用VBA代码将.doc格式文件批量转换为.docx

本部分将向您展示VBA代码,该代码可将指定文件夹中的所有.doc格式文档立即转换为.docx文档。 请执行以下操作。

1.请在指定文件夹中收集所有将转换为.docx的.doc格式文档。

2。 按 其他 + F11 键打开 Microsoft Visual Basic应用程序 窗口。

3.在窗口中,单击 插页 > 模块。 然后将下面的VBA代码复制到“模块”窗口中。

VBA代码:将某个文件夹中的所有.doc格式文档批量转换为.docx

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

4。 按 F5 键来运行代码。 在开幕 浏览 窗口,选择包含.doc格式文档的文件夹,然后单击 OK。 看截图:

然后,所有.doc格式的文档都会立即转换为.docx文档,如下图所示。


使用Kutools for Word将.doc格式文件批量转换为.docx

本节将推荐一个方便的实用程序。 随着 文件/文件 实用程序 Kutools for Word,您可以轻松地将文件夹中的所有.doc格式文档转换为.docx文档。 请尝试如下。

Kutools for Word :拥有100多个方便的Word加载项, 60天免费试用.

1.请在指定的文件夹中收集所有.doc格式的文档,然后单击 Kutools 加 > 文件/文件。 看截图:

2。 在里面 文件格式转换器 对话框,您需要执行以下操作:

2.1)选择包含.doc格式文档的文件夹 源文件文件夹 部分;
2.2)选择 将doc转换成docx 来自 格式转换 下拉列表;
2.3)默认情况下, 目标路径与源相同 框被选中。 如果要将所有已转换的.docx文档放置在同一文件夹中,只需选择此选项即可;
如果要将.docx文档和源.doc文档分开,请取消选中 目标路径与源相同 框,然后选择一个新文件夹将.docx文档保存在 存到 框;
2.4)点击 Start 开始 按钮。 看截图:

3.然后弹出一个对话框,告诉您已成功转换了多少文档,单击 OK 按钮并关闭 文件格式转换器 窗口。

现在,所有.doc格式的文档都将转换为.docx文件。 看截图:

如果您想免费试用该实用程序,请转到 免费下载软件 首先,然后按照上述步骤进行操作。


Kutools for Outlook-为Outlook带来100个高级功能,并使工作更加轻松!

  • 自动CC / BCC 根据规则发送电子邮件; 自动转发 自定义多封电子邮件; 自动回复 没有交换服务器,还有更多自动功能...
  • BCC警告 -当您尝试全部答复时显示消息 如果您的邮件地址在“密件抄送”列表中; 缺少附件时提醒,还有更多提醒功能...
  • 在邮件对话中回复(全部)带有所有附件; 回复许多电子邮件 很快; 自动添加问候语 回复时将日期添加到主题中...
  • 附件工具:管理所有邮件中的所有附件, 自动分离, 全部压缩,全部重命名,全部保存...快速报告, 计算选定的邮件...
  • 强大的垃圾邮件 习俗 删除重复的邮件和联系人... 使您能够在Outlook中做得更聪明,更快和更好。
拍摄kutools前景kutools选项卡1180x121
拍摄kutools前景kutools加标签1180x121
 
按评论排序
注释 (17)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
赞! 感谢分享。 这非常有帮助。 我有超过 50 个文档需要转换。 仅用了 000 多个小时就完成了所有工作。 巨大的帮助。 我使用了选项 39
该评论由网站上的主持人最小化
打开要转换为 PDF 文件的 Word 文档。 如果您只想导入... ConvertOnlineFree - Word 文档到 PDF 的单个和批量对话... PDFOnline - 免费 Word(doc、docx 和 txt)到 PDF 转换器。

不错的博客,你分享的文章很好。这篇文章很有用。 我的朋友建议我使用这个博客。

https://customersurveyinfo.com
该评论由网站上的主持人最小化
你好,谢谢分享。
该评论由网站上的主持人最小化
有趣的东西要读。 保持。
该评论由网站上的主持人最小化
你好,
我很高兴找到这些有用的信息感谢分享这篇精彩的文章。
该评论由网站上的主持人最小化
嗨....嗨,这个博客内容非常技术性信息,它是我所拥有的最好的博客之一。 非常有趣并以非常简单的方式描述。
该评论由网站上的主持人最小化
你好,先生,
我喜欢这篇文章。我真的很感谢这个网站。你的信息是如此的好和有价值。分享这个网站的可爱的想法和概念。
这是一个了不起的网站。这篇文章很好。
感谢分享
该评论由网站上的主持人最小化
HelloNice 帖子.. 继续分享。谢谢
该评论由网站上的主持人最小化
这是一篇非常有见地的文章,发现它非常有用且信息丰富
该评论由网站上的主持人最小化
感谢您分享这些有用的信息。
该评论由网站上的主持人最小化
印度最好的平面设计公司
设计是一种将文字作为表达方式进行交流的工艺。 在高级领域,视觉比文字更重要。
设计行业的专家建议,插图比文字更容易回忆,
这就是网站设计和图形发挥重要作用的原因。

该评论由网站上的主持人最小化
感谢分享
该评论由网站上的主持人最小化
很棒的信息非常有用,谢谢分享。

农场 60
该评论由网站上的主持人最小化
不错的工具,但我遇到了问题,我无法将 DOC 文件(用大写字母编写!)转换为 docx 文件。
它适用于 doc 文件。
该评论由网站上的主持人最小化
嗨,
以下代码可以帮助转换这两个文档。 和医生。 文件转换为 docx 文件。 请试一试。 感谢您的反馈意见。

Sub ConvertDocToDocx()
'Updated by ExtendOffice 20220506
    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(VBA.LCase(xFileName), "doc", "docx"), wdFormatDocumentDefault
        ActiveDocument.Close
        xFileName = Dir()
    Wend
    Application.ScreenUpdating = True
End Sub
该评论由网站上的主持人最小化
Dobrý书房,
já bych potřeboval, ale VBA script který by fungoval včetně podsložek。 Umíte někdo prosím upravit i tento skript? 德库吉。

ENG:
美好的一天,
我需要一个可以工作的 VBA 脚本,包括子文件夹。 有人也可以编辑这个脚本吗? 谢谢你。
该评论由网站上的主持人最小化
嗨丹尼尔贝奈斯,
要包含子文件夹,请尝试以下 VBA 代码。
添加代码后,转到 鑫安工具 标签,点击 參考資料, 在开场 参考-项目 对话框,检查 Microsoft脚本运行时 框,然后单击 OK 按钮以保存更改。 请参见以下屏幕截图:
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/check-scripting_runtime.png
之后,按 F5 键来运行代码。

Sub ConvertDocToDocx()
'Updated by ExtendOffice 20221124
  Dim xDlg As FileDialog
  Dim xFldPath As Variant
  Dim xFileName As String
  On Error Resume Next
  Application.ScreenUpdating = False
  Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
  If xDlg.Show <> -1 Then Exit Sub
  xFldPath = xDlg.SelectedItems(1) + "\"
  Call ListAllFiles(xFldPath)
  Application.ScreenUpdating = True
End Sub

Function ListAllFiles(FldPath)
  Dim xFSO As FileSystemObject
  Dim xFolder As Folder
  Dim xSubFolder As Folder
  Dim xNewName As String
  On Error Resume Next
  xFileName = Dir(FldPath & "*.doc", vbNormal)
  While xFileName <> ""
    xNewName = VBA.Left$(xFileName, VBA.InStrRev(xFileName, "doc") - 1) & "docx"
    Documents.Open FileName:=FldPath & xFileName, _
        ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
        PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
        WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
        wdOpenFormatAuto, XMLTransform:=""
    ActiveDocument.SaveAs FldPath & xNewName, wdFormatDocumentDefault
    ActiveDocument.Close
    xFileName = Dir()
  Wend
  Set xFSO = CreateObject("Scripting.FileSystemObject")
  Set xFolder = xFSO.GetFolder(FldPath)
  For Each xSubFolder In xFolder.SubFolders
    Call ListAllFiles(xSubFolder.Path + "\")
  Next
  Set xFSO = Nothing
  Set xFolder = Nothing
End Function
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点