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

2 vba ms-word save save-as

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

'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
Run Code Online (Sandbox Code Playgroud)

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

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

文件<文件名>无法打开,因为内容有问题。

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

好奇心的杂记:

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

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

Yow*_*E3K 5

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

改变

SaveAs Directory & FileName
Run Code Online (Sandbox Code Playgroud)

SaveAs2 Directory & FileName, wdFormatXMLDocument
Run Code Online (Sandbox Code Playgroud)

有关该SaveAs2方法的更多信息,请参见此处