我在Visual Basic中有一些代码,它可以在几个月内完美运行。但在某些时候,这段代码停止了工作:
'Save changes to original document
ActiveDocument.Save ' <- This line causes trouble
'the next line copies the active document
Application.Documents.Add ActiveDocument.FullName
'the next line saves the copy to your location and name
ActiveDocument.SaveAs SaveAsPath, wdFormatXMLDocumentMacroEnabled
Word不会像评论中所说的那样保存原始文档,而是弹出一个窗口并要求将文档保存到该文件夹中。它从未发生过 - 文档只是保存而没有任何额外的步骤。可能这一切都发生了,因为文档开始以只读模式打开(但我不记得过去的模式,而且我不知道如何更改此模式)。我扫描了几十个论坛。
修改
顺便说一句,我也有类似的代码来保存Excel文件,就像这样:
'Save changes to original document
ActiveWorkbook.Save
'the next line saves the copy to your location and name
ActiveWorkbook.SaveCopyAs SaveAsPath
奇怪的是excel文件也以只读模式打开,但代码仍可正常工作。
修改
这个非常非常古老的link也出现了同样的错误。如果我尝试保存文档,我也可以注册Run-Time Error '5155'
。
答案 0 :(得分:-1)
这是解决方案(而不是ActiveWorkbook.Save
):
FN = Replace(ActiveDocument.Name, "temp_", "")
FN = "temp_" + FN
'Save changes to original document
ActiveDocument.SaveAs FileName:=ActiveDocument.Path + Application.PathSeparator + FN