Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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
Excel 加载项上的运行时错误1004:无法禁用文件,因为它是只读的_Excel_Vba_Runtime Error_Add In - Fatal编程技术网

Excel 加载项上的运行时错误1004:无法禁用文件,因为它是只读的

Excel 加载项上的运行时错误1004:无法禁用文件,因为它是只读的,excel,vba,runtime-error,add-in,Excel,Vba,Runtime Error,Add In,有时,当我打开Excel时,会收到运行时1004错误消息。提示无法保存我的外接程序xlam文件,因为它是只读的。这很烦人,因为我永远不知道什么时候会发生,什么是问题的根源 这是外接程序打开时执行的代码段: Private Sub Workbook_Open() 'I initialize some variables configurado = ThisWorkbook.Worksheets("Registro").Range("a1") proxyObrigatorio = ThisWork

有时,当我打开Excel时,会收到运行时1004错误消息。提示无法保存我的外接程序xlam文件,因为它是只读的。这很烦人,因为我永远不知道什么时候会发生,什么是问题的根源

这是外接程序打开时执行的代码段:

Private Sub Workbook_Open()

'I initialize some variables
configurado = ThisWorkbook.Worksheets("Registro").Range("a1")
proxyObrigatorio = ThisWorkbook.Worksheets("Registro").Range("a2")
ipProxy = ThisWorkbook.Worksheets("Registro").Range("a3")
portaProxy = ThisWorkbook.Worksheets("Registro").Range("a4")  

'I insert the xlam's name in the G1 range and save the xlam file
fileName = ThisWorkbook.Name
ThisWorkbook.Worksheets("Calculos").Range("G1") = fileName    

End Sub 

什么可能导致问题?

尝试打开excel文件。不要使用现有的excel文件打开另一个excel文件,而是转到开始菜单->excel,然后从那里打开。这会导致错误吗?如果是这样,那是因为您正在打开excel的第二个只读会话

如果您打开一个excel文件并想打开另一个,请确保在第一个excel文件中通过“文件->打开”打开下一个要使用的excel文件。这样,您就可以在一个会话中使用多个文件,而不是启动另一个excel会话。抱歉,如果这听起来有点混乱,现在还早,星期一,但请让我知道这是否有效

如果必须使用两个不同的会话打开多个excel文件,则必须将宏保存在不同的位置。基本上,第一个文件正在访问宏工作簿,并且处于编辑模式。打开第二个文件时,它会发现第一个文件已经在访问工作簿,并且只能执行只读版本