Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 防止只读模式和保存问题。_Vba_Ms Word - Fatal编程技术网

Vba 防止只读模式和保存问题。

Vba 防止只读模式和保存问题。,vba,ms-word,Vba,Ms Word,我用VisualBasic编写了一些代码,这些代码在几个月内都运行得非常好。但在某个时刻,该代码停止工作: '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

我用VisualBasic编写了一些代码,这些代码在几个月内都运行得非常好。但在某个时刻,该代码停止工作:

'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
奇怪的是excel文件也是以只读模式打开的,但代码仍然有效

编辑

这个非常非常古老的错误。如果我试图保存文档,我还可以注册此
运行时错误“5155”

这是解决方案(而不是
ActiveWorkbook.save
):


文件是如何打开的?用代码还是手工?如果手动打开文件,会是什么样子?文件已打开时,您是否收到关于其他用户的提示?文档正在通过浏览器打开。如果我是手动的,那没关系。我没有收到这样的提示。然而,我对它进行了一点调查,发现如果我使用相同的代码,但用另一个名称保存文档,那么它就可以工作了。
'Save changes to original document
 ActiveWorkbook.Save
'the next line saves the copy to your location and name
 ActiveWorkbook.SaveCopyAs SaveAsPath
FN = Replace(ActiveDocument.Name, "temp_", "")
FN = "temp_" + FN
'Save changes to original document
ActiveDocument.SaveAs FileName:=ActiveDocument.Path + Application.PathSeparator + FN