VBA 将文档从 .docm 保存(并转换)为 .docx

VBA Saving (and converting) a Document From .docm to .docx

我在项目结束时有以下代码:

'Save the Document
Dim Directory As String, FileName As String
Directory = "C:\Users\" & (Environ$("Username")) & _
    "\Desktop\STL\"
If Len(Dir(Directory, vbDirectory)) = 0 Then
    MkDir Directory
End If
FileName = sDNUM & " " & Format(Date, "YYYY-MM-DD") & ".docx"
SaveAs Directory & FileName


MsgBox "File saved to:" & vbNL & Directory & FileName

并且我试图在 运行 启用宏的工作簿之后将文件另存为 docx(未启用宏)。

问题是在使用上述方法保存文件时,在尝试打开新保存的文件时收到以下错误消息:

The file < filename > cannot be opened because there are problems with the contents.

我应该用什么方法来正确保存这些文档?

好奇的杂项笔记:

vbNL 只是 vbNewLine 的函数。我经常使用它,我想我只是懒得一直打字,所以我做了一个缩短文本的功能。

sDNUM也只是另一个与问题无关的功能。

使用 docx 扩展名保存文件不会自动将其转换为未启用宏。

改变

SaveAs Directory & FileName

SaveAs2 Directory & FileName, wdFormatXMLDocument

有关 SaveAs2 方法的详细信息,请参阅 here