最近碰到了doc文档需要批量转为docx的需求,手工转效率太慢,经多方研究找到了一个很不错的方法:
首先,打开一个空白word,按住ALT+F11,弹出VB编程界面。因为VB提供了office的api,所以利用VB对office文件进行操作是最可靠的。在菜单栏点击插入,选择模块,即出现代码编辑框,输入下列的代码:
Option Explicit
Sub doc2docx()
Dim sEveryFile As String
Dim sSourcePath As String
Dim sNewSavePath As String
Dim CurDoc As Object
sSourcePath = "E:\DOC文件\"
sEveryFile = Dir(sSourcePath & "*.doc")
Do While sEveryFile <> ""
Set CurDoc = Documents.Open(sSourcePath & sEveryFile, , , , , , , , , , , msoFalse)
CurDoc.Convert
sNewSavePath = VBA.Strings.Replace(sSourcePath & "DOCX文件\" & sEveryFile, ".doc", ".docx")
CurDoc.SaveAs2 sNewSavePath, wdFormatDocumentDefault
CurDoc.Close SaveChanges:=False
sEveryFile = Dir
Loop
Set CurDoc = Nothing
End Sub
这段代码会在doc文件夹下新建一个叫“docx文件”的文件夹,然后将转好的docx文件放进去。上文的源代码出自知乎
作者:磁悬浮青蛙呱呱呱
链接:https://www.zhihu.com/question/56463918/answer/269610864