Word VBA批量格式转换:docx转pdf、doc、rtf、txt以及反向转换

    有时候需要把大量的docx文件另存为其它格式,比如pdf、doc、rtf、txt,或者反向转换,可以用VBA批量处理。启动word,按下Alt+F11,打开Microsoft Visual Basic for Applications,点击 插入>模块,将下面的代码粘贴进去,然后按F5(某些笔记本电脑可能需要按Fn+F5),或者点击图中的绿色小三角形,便可以执行代码。代码中涉及到的路径要根据自己的实际情况进行修改。pdf文件除了能保持复杂的排版和数学公式不走样,还可以再借助Adobe Acrobat(不是Adobe Reader)另存为png、jpg等图片格式(pdf文件的每一页会成为一张单独的图片)。因为word本身不能直接另存为图片,所以需要借助pdf中转。下面的代码中用到了open函数,并且为名为Visible的参数赋值为msoFalse(msoFalse前面共有11个英文逗号),目的是打开文件时不在word窗口中显示文件的内容,加快转换速度。尝试过使用Application.ScreenUpdating = False来实现与Visible=msoFalse相同的效果,然而并不可行,不知是什么原因。Replace的作用是修改后缀名,SaveAs2的作用是“另存为”。

PowerPoint的批量转换参见 https://blog.csdn.net/pijianzhirui/article/details/85936272
          Excel的批量转换参见 https://blog.csdn.net/pijianzhirui/article/details/85939896

 还有一个名为Office Tool Plus(官网:https://otp.landian.vip/zh-cn/)的工具也可以进行批量格式转换。

'docx转pdf、doc、rtf、txt
Option Explicit
Sub docx2other()
On Error Resume Next
Dim sEveryFile As String,sSourcePath As String,sNewSavePath As String
Dim CurDoc As Object
sSourcePath = "E:\DOCX文件\"  
'假定待转换的docx文件全部在"E:\DOCX文件\"下,你需要按实际情况修改。
sEveryFile = Dir(sSourcePath &"*.docx")
Do While sEveryFile <> ""
   Set CurDoc = Documents.Open(sSourcePath & sEveryFile, , , , , , , , , , , msoFalse)
   sNewSavePath = VBA.Strings.Replace(sSourcePath & sEveryFile, ".docx", ".pdf")
   '如果想导出doc/rtf/txt等,就把上一行行尾的pdf换成doc/rtf/txt
   '转化后的文件也在"E:\DOCX文件\"下,当然你可以按需修改。
   CurDoc.SaveAs2 sNewSavePath, wdFormatPDF
   'pdf对应wdFormatPDF,doc对应wdFormatDocument,rtf对应wdFormatRTF,txt对应wdFormatText
   '更多格式可参见文末的截图WdSaveFormat Enumeration
   CurDoc.Close SaveChanges:=False
   sEveryFile= Dir
Loop
Set CurDoc = Nothing
End Sub
'pdf、doc、rtf、txt转docx
Option Explicit
Sub other2docx()
On Error Resume Next
Dim sEveryFile As String,sSourcePath As String,sNewSavePath As String
Dim CurDoc As Object
sSourcePath = "E:\PDF文件\"
'假定待转换的pdf文件全部在"E:\PDF文件\"下,你需要按实际情况修改。
sEveryFile = Dir(sSourcePath &"*.pdf")
Do While sEveryFile <> ""
   Set CurDoc = Documents.Open(sSourcePath & sEveryFile, , , , , , , , , , , msoFalse)
   CurDoc.Convert 
   sNewSavePath = VBA.Strings.Replace(sSourcePath & sEveryFile, ".pdf", ".docx")
   '要把doc/rtf/txt转为docx,则把上面第9行和第13行两处".pdf"改为".doc"/".rtf"/".txt"
   '转化后的文件也在"E:\PDF文件\"下,当然你可以按需修改。
   CurDoc.SaveAs2 sNewSavePath, wdFormatDocumentDefault
   CurDoc.Close SaveChanges:=False
   sEveryFile = Dir
Loop
Set CurDoc = Nothing
End Sub

        pdf转docx时很容易报错,比如“运行时错误'5121':抱歉,在将您的 PDF 转化为 Word 文档时遇到问题。(xxx.pdf)”转换速度非常慢,有时候还会让word卡死,于是只能用任务管理器结束掉word。注意观察是哪个PDF文件导致卡死,然后把这个PDF文件挪到别的文件夹,不要再让word进行转化了,试试用Adobe Acrobat转换。在word 2016中测试,即使是扫描版(纯图片)PDF,word 2016也能进行文字识别,不确定更低版本的word能否将pdf转为docx,以及能否进行文字识别。


以下为一些函数的介绍。

### 回答1: 要批量docx文件转换doc格式,可以按照以下步骤进行操作: 1. 首先,确保你的计算机上安装了Microsoft Office套件或者其他支持docxdoc格式的文档软件。 2. 打开包含需要转换docx文件的文件夹。 3. 选择所有需要批量转换docx文件,可以使用组合键Ctrl+A选中所有文件,或者按住Ctrl键单击鼠标左键选择想要转换的文件。 4. 将选中的文件右键点击,然后在弹出的菜单中选择“另存为”选项。 5. 在弹出的“另存为”对话框中,选择需要保存的文件夹,并将文件类型设置为“Word 97-2003 文档 (*.doc)”。点击保存按钮。 6. 批量转换过程将开始,等待所有文件的转换完成。 7. 转换完成后,你将在选择的文件夹中看到转换后的doc文件。 通过以上步骤,你可以方便地将多个docx文件批量转换doc格式的文件。请注意,在转换过程中,原来的文件将不会被修改或删除,而是在转换后生成相应的doc文件副本。 ### 回答2: 要批量docx转换doc格式,可以使用以下方法: 1. 使用Microsoft Word软件:打开需要转换的.docx文件,然后选择“文件”菜单中的“另存为”选项。在弹出的对话框中,选择.doc文件格式并保存。然后重复这个过程,将所有的.docx文件逐个转换为.doc格式。 2. 使用在线转换工具:有许多在线转换工具可以将.docx文件转换为.doc格式。只需在搜索引擎中搜索“在线docxdoc”,选择一个可信赖的在线转换工具。上传需要转换的.docx文件,并选择.doc格式作为输出格式。然后,执行转换操作并下载转换后的.doc文件。不过,这种方法需要逐个上传和下载文件,所以适用于文件数量较少的情况。 3. 使用批量转换软件:有一些专门的批量转换软件可以将大量的.docx文件转换为.doc格式。这些软件通常提供用户友好的界面和简单的操作步骤,可以同时处理多个文件。只需在搜索引擎中搜索“批量docxdoc软件”,选择一个适合自己的软件并下载安装。然后将需要转换的.docx文件放入软件中的指定文件夹,设置输出格式为.doc,点击转换按钮即可批量转换。 总结起来,转换.docx至.doc格式的方法包括使用Microsoft Word软件、在线转换工具和批量转换软件。具体选择哪种方法取决于转换的文件数量和个人喜好。 ### 回答3: 要批量docx格式转换doc格式,可以通过以下几个步骤: 1. 找到一个可用的软件或工具来进行批量转换。可以选择使用在线转换器、批处理脚本或专业的文件转换软件。 2. 熟悉所选择的软件或工具的操作方式。一般来说,你需要了解如何添加要转换的文件、选择输出格式为doc,并设置输出文件的保存位置。 3. 准备好要转换docx文件。将所有需要转换的文件保存在同一个文件夹中,以便批量处理。 4. 打开选择的软件或工具,并导入要转换的文件。根据软件的不同,在菜单、工具栏或界面上找到“添加文件”选项,然后选择要转换的文件所在的文件夹,并点击“确定”或类似按钮。 5. 设置转换选项。选择输出格式为doc,并确认选择要转换的所有文件。 6. 指定输出文件的保存位置。在软件或工具提供的“输出目录”或“保存位置”选项中,选择一个文件夹作为输出文件的保存位置。 7. 开始批量转换。依据软件或工具的操作流程,点击“开始转换”或“转换”按钮,等待转换完成。 8. 检查转换结果。转换完成后,查看输出文件夹中是否成功生成了批量转换doc文件。 请注意,在转换过程中,可能会出现一些问题,如格式不兼容、字体或布局丢失等。因此,在进行批量转换之前,建议先进行一次小规模的测试来确认转换效果。另外,需要根据所选择的软件或工具来调整步骤和操作方式。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值