Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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 VBA意外错误419-拒绝使用对象的权限_Excel_Vba - Fatal编程技术网

Excel VBA意外错误419-拒绝使用对象的权限

Excel VBA意外错误419-拒绝使用对象的权限,excel,vba,Excel,Vba,我有一个Excel电子表格,带有VBA编程、表单activex控件、表单控件。电子表格一直正常工作,直到上周。我认为问题始于windows uptade的自动安装,但这可能只是巧合,因为我不确定这是否是原因。现在,电子表格打开,立即出现一个小窗口,指示: “Visual Basic for Applications-Permisson拒绝使用对象(确定, "救命"。选择帮助、最少的信息和它无关。 选择“确定”,另一个窗口将弹出“Visual Basic for Applications”- 意外

我有一个Excel电子表格,带有VBA编程、表单activex控件、表单控件。电子表格一直正常工作,直到上周。我认为问题始于windows uptade的自动安装,但这可能只是巧合,因为我不确定这是否是原因。现在,电子表格打开,立即出现一个小窗口,指示:

“Visual Basic for Applications-Permisson拒绝使用对象(确定, "救命"。选择帮助、最少的信息和它无关。 选择“确定”,另一个窗口将弹出“Visual Basic for Applications”- 意外错误419(确定,帮助)”


我甚至不能把这张纸换成另一个名字。VBA代码无法运行。如果我打开任何新的电子表格,Excel的功能正常,也使用其VBA。在出现此问题之前,每次我打开电子表格时,都会出现一个窗口,表明Excel阻止ActiveX控件的功能,并询问我是否允许使用ActiveX。今天,我启用了所有宏和所有activex控件。我以前备份的这个电子表格也有同样的问题。都不管用。我转到VBA编辑-->引用,比较了我拥有的库和电子表格中的库。似乎没有图书馆丢失。如何解决这个问题

您的工作站和/或网络上的权限已更改。具体地说,包含包含VBA中引用的对象的DLL文件的文件夹。例如(我不知道是否确实如此,但只是一个示例),如果您的代码引用的是Microsoft脚本运行时(许多VBA项目都引用),那么您的代码需要权限才能访问
C:\Windows\SysWOW64\scrrun.dll
。(我是通过调用VBA编辑器,选择工具-->引用,然后选择Microsoft脚本运行时并读取对话框窗口底部的位置来找到这个位置的。)


这是我的工作站上DLL的位置。您的文件夹可能不同,或者它可能在系统更新期间移动,或者访问该文件夹的权限可能已更改。您必须检查VBA项目中所有引用的位置才能确定此位置。有时引用的库位于网络驱动器上,如果网络权限发生更改,这会使问题变得复杂。

我决定尝试导出所有表单(*.frm;*.frx)。一切都很顺利,直到我发现了一种特殊的形式,它有一个shockwaveflash对象。此时会显示消息“拒绝使用对象的权限”。宾果

然后,我在工作站上跟踪了此类shockwave对象引用的位置,并应用了完全的管理员控制。然而,我仍然不能使用冲击波对象。然后我卸载了flash并从Adobe下载了最新的shockwaveflash插件。当我打开Excel->Developer->Insert->ActiveX控件->更多控件->ShockWaveLashObject,然后将该对象插入工作表时,会显示消息:“MS Excel-无法插入对象”。我已经从
C:\Users\[User ID]\AppData\Local\Temp\Excel8.0
中手动删除了“*.exd”。也从
C:\Users\[User ID]\AppData\Local\Temp\VBE\
中删除了“*.exd”,但问题仍然存在:“Microsoft Excel-无法插入对象”

为了解决这个问题我最终访问了VBA编辑器并删除了包含ShockWaveLashObject的用户表单。之后一切都恢复正常