由于未找到npoi读取doc的方法,只能用npoi读docx,无奈手里有4000多个doc,要是手动一个一个转为docx,那整个人都要不好了,于是在网上找到两个函数,使用word宏功能实现doc与docx互转。现贴下教程。
3.运行
1.打开一个word,宏-查看宏-新建
2.粘贴代码
VB Code
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub
docx2doc()
'docx文件转doc文件
Dim myDialog As FileDialog, oFile As Variant Set myDialog = Application.FileDialog(msoFileDialogFilePicker) With myDialog .Filters.Clear '清除所有文件筛选器中的项目 .Filters.Add "所有 WORD2007 文件" , "*.docx" , 1 '增加筛选器的项目为所有WORD2007文件 .AllowMultiSelect = True '允许多项选择 If .Show = - 1 Then '确定 For Each oFile In .SelectedItems '在所有选取项目中循环 With Documents.Open(oFile) .SaveAs FileName:=Replace(oFile, "docx" , "doc" ), FileFormat:= 0 .Close End With Next End If End With End Sub |
VB Code
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Sub
doc2docx()
'doc文件转docx文件
Dim myDialog As FileDialog, oFile As Variant Set myDialog = Application.FileDialog(msoFileDialogFilePicker) With myDialog .Filters.Clear '清除所有文件筛选器中的项目 .Filters.Add "所有 WORD97-2003 文件" , "*.doc" , 1 '增加筛选器的项目为所有WORD97-2003文件 .AllowMultiSelect = True '允许多项选择 If .Show = - 1 Then '确定 For Each oFile In .SelectedItems '在所有选取项目中循环 With Documents.Open(oFile) .SaveAs FileName:=Replace(oFile, "doc" , "docx" ), FileFormat:= 12 .Close End With Next End If End With End Sub |
参考:
1、http://blog.csdn.net/water_lwj/article/details/37911523
2、https://zhidao.baidu.com/question/557724227.html