如何批量将doc扩展名的文件转换成docx?
1,新建WORD文件,不要放在要转换doc文件目录下,随便存哪。
2,运行以下VBA代码,如果您的WPS没有安装vba,请参考文章:“VBA下载,WPS表格中如何安装VBA?”
Sub ConvertDocToDocx()
'Updated by ExtendOffice 20181128
Dim xDlg As FileDialog
Dim xFolder As Variant
Dim xFileName As String
Application.ScreenUpdating = False
Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xDlg.Show <> -1 Then Exit Sub
xFolder = xDlg.SelectedItems(1) + "\"
xFileName = Dir(xFolder & "*.doc", vbNormal)
While xFileName <> ""
Documents.Open FileName:=xFolder & xFileName, _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:=""
ActiveDocument.SaveAs xFolder & Replace(xFileName, "doc", "docx"), wdFormatDocumentDefault
ActiveDocument.Close
xFileName = Dir()
Wend
Application.ScreenUpdating = True
End Sub
运行后,选择您需要转换doc的文件夹目录,将会一个一个的将doc文件批量转换为docx文件并存放在原目录,运行时请记得备份文件。
VBA批量将doc扩展名的文件转换成docx代码2:
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
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
以上代码可将DOC文件转为DOCX格式,此代码适合站长使用。
发表评论