批量转换文件夹下wps和doc文件为docx文件
1、启动word2007或更高版本(我以word2016版为例),然后点击“开发工具",再点击“宏安全性”。

2、在弹出的对话框内选择“启用所有宏”,再点击“确定”关闭对话框。必须启用宏,不然无法使用本方法进行批量转换

3、点击“开发工具”下的“Visual Basic“打开宏编辑窗口。

4、'将下面内容复制粘贴到打开的对话框中
Sub doc2docx()
'将 .doc 或者 .wps 文件转换为 .docx 文件
sSourcePath = InputBox("请输入doc文件夹路径", , "d:\11") & "\"
sEveryFile = Dir(sSourcePath & "*.???")
js = 0
sc = InputBox("是否删除原文件?", , "是")
Do While sEveryFile <> ""
If (Right(sEveryFile, 3) = "doc" Or Right(sEveryFile, 3) = "wps") Then
Documents.Open FileName:=sSourcePath & sEveryFile, ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""
newfilsname = sSourcePath & sEveryFile
newfilsname = Left(newfilsname, Len(newfilsname) - 4) & ".docx"
ActiveDocument.SaveAs2 FileName:=newfilsname, FileFormat:= _
wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False, CompatibilityMode:=15
ActiveDocument.Close
delfilsname = sSourcePath & sEveryFile
If sc = "是" Then Kill delfilsname
js = js + 1
End If
sEveryFile = Dir
Loop
MsgBox "成功转换了 " & js & " 个(.doc/.wps)文件。"
End Sub
Sub 宏1()

5、点击右上角关闭按钮关闭“Visual Basic“宏编辑窗口,回到正常页面。点击”开发工具“下的”宏“按钮打开宏运行对话框,点击中部宏名,再点击右侧“运行”按钮

6、这时已经开始运行批量转换程序了,在弹出的对话框中输入你要转换的文档所在的目录后,点击“确定”按钮

7、根据自己意愿选择是否要删除源文件

8、喝口茶稍等,根据要转换的文件数量不同,所需时间略有不同,一般都很快的。转换完成后会弹出对话框说明成功转换了多少个文档。点击“确定”后就可以在原来的文件夹里得到所有转换好的文件了。
