Sub FormatConverter()
Set instance = Documents ' 实例对象: Word=Documents | Excel=Workbooks | PowerPoint=Presentations
Const fromExt = "doc" ' 原始格式扩展名
Const toId = 12 ' 目标格式ID: doc=0 | docx=12 | xls=56 | xlsx=51 | ppt=1 | pptx=24
Set dialog = Application.FileDialog(msoFileDialogFilePicker)
dialog.Filters.Add fromExt, "*." + fromExt, 1
dialog.Show
For Each item In dialog.SelectedItems
Set file = instance.Open(FileName:=item, ReadOnly:=True, Visible:=False)
file.SaveAs Left(item, InStrRev(item, ".") - 1), toId
file.Close
Next
End Sub
  • 新建文件,新建宏,替换为以上代码,参照注释修改,按键盘 F5 运行。

  • 需要其他格式请参考 FileFormat 枚举(搜索关键词 word format enum vba msdn)。

Change Log

20210226

  • 重构代码。

20180823

  • 补充了适用于 Excel 的代码。

  • 其他修改。

20180626

  • 首个版本。