我在项目结束时有以下代码:
'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 也只是与问题无关的另一个功能。
使用docx扩展名保存文件不会自动将其转换为未启用宏的文件。
改变
SaveAs Directory & FileName
Run Code Online (Sandbox Code Playgroud)
到
SaveAs2 Directory & FileName, wdFormatXMLDocument
Run Code Online (Sandbox Code Playgroud)
有关该SaveAs2方法的更多信息,请参见此处。