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

时间:2017-05-16 16:32:38

标签: 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

我正在尝试在运行启用宏的工作簿后将文件保存为docx(启用非宏)。

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

  

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

我应该使用哪种方法来妥善保存这些文件?

好奇的杂项说明:

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

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

1 个答案:

答案 0 :(得分:3)

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

更改

SaveAs Directory & FileName

SaveAs2 Directory & FileName, wdFormatXMLDocument

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