Vba Word文件在另存为后损坏

Vba Word文件在另存为后损坏,vba,ms-word,Vba,Ms Word,我已经建立了一个程序来生成其他docm文件。该程序运行良好,无需通过VBA保存生成的文件。但是,当我使用SaveAs语句通过VBA进行保存时,生成的文件会损坏。尝试打开该文件会显示以下消息: "Could not open the file, there is a problem with the contents." SaveAs语句如下所示: qDoc.SaveAs (getQuizURL(quizname)) quizUrl功能已经过全面测试,运行正常 有人知道是什么原因造成的,以及如

我已经建立了一个程序来生成其他docm文件。该程序运行良好,无需通过VBA保存生成的文件。但是,当我使用SaveAs语句通过VBA进行保存时,生成的文件会损坏。尝试打开该文件会显示以下消息:

"Could not open the file, there is a problem with the contents."
SaveAs语句如下所示:

qDoc.SaveAs (getQuizURL(quizname))
quizUrl功能已经过全面测试,运行正常


有人知道是什么原因造成的,以及如何解决吗?我可以手动保存所有文件,但考虑到其他人将使用此程序,我希望它尽可能友好。

您缺少文件格式规范

我不确定您的代码中是否有
SaveAs

我有Office-2016,它有一个名为
SaveAs2
的功能,但可能是
SaveAs
在旧版本中可用

无论如何,请更改代码以指定文件格式

 ThisDocument.SaveAs2 "C:\temp\Test.docm", WdSaveFormat.wdFormatXMLDocumentMacroEnabled

这就可以了。

需要查看保存文档的代码。我已经添加了上面的语句(不确定是否应该作为答案发布-只是想澄清一下):我认为为了让宏保存工作簿,必须将其保存为启用宏的工作簿,或者二进制文件也可以工作。。。我知道编写宏来保存启用宏的excel工作簿是可行的,但不是普通类型的工作簿。工作簿?它与excel无关