当面临大量的doc数据,一万个doc分布于十多个文件夹有三级或更多地目录深度情况下,通过手动另存为的方式将doc转变为docx,将是一项巨量的工作。
已知的方式有多种多样,Python,Java和VBA都能完成。
但考虑到VBA是原生支持,不需要依赖外接包并且Office自带,略有方便性,就考虑使用VBA进行设定。
环境:
Windows7
Office 7
解决步骤:
1.获取到所有.dox文件的绝对路径。
使用路劲搜索工具或者python工具都能够快速获取到.doc的路径。
2.将路径导入到Excle的一列。
3.在Excle调用VBA。
a 键入 alt + F11 打开VBA程序控制器。
b 选择 “插入” --- “模块”
c 输入VBA代码,然后点击运行
4.核心代码
a 循环调取doc文件路径
For i = 1 To a :
s = Trim(Worksheets("Sheet1").Cells(i,1))
b 另存为doc文件为docx文件
With Wordapp.Documents.Open(s)
.SaveAs Filename := Replace(s, ".doc", ".docx"), FileFormat := 12
.Close