VBA excel – 从networking文件夹打开文件时,激活方法失败
我有一个与多个macros的Excel文件。 打开文件时,我想完成一些操作。 我使用下面的代码:
Private Sub Workbook_Open() Worksheets(1).Activate pass = "mits" Worksheets(1).Range("Q2:S16").NumberFormat = "General" Call prostasiaON(True) End Sub
这个代码写在'This_Workbook模块'中, pass
是在模块1中声明的一个公共variables,而prostasiaON(mode as Boolean)
是一个Sub,它做了一些其他的事情。
当我的文件在本地驱动器中时,它应该打开。 如果我复制我的文件在networking驱动器,并尝试打开它,它会抛出一个
运行时错误“1004”:方法工作表激活失败。
在第二行。 任何人都可以解释为什么会发生这种情况,我怎样才能避免这种情况?
编辑:之前抛出这个错误,Excel问我是否要允许编辑这个文件,我select是的。
问题与您是否要允许编辑的问题有关,因为直到您同意为止,代码才会真正运行,但工作簿显示已加载。 如果您可以设置信任和权限以避免工作簿的不完整打开以及是否允许编辑,则不会出现问题。 如果您无法避免这个问题,您也将无法避免Activate
时发生的错误。 所以,我所做的就是添加On Error Resume Next
并在没有Worksheets(1)的情况下在您描述的情况下激活。
这是什么解决了这个问题。 我把这个post作为未来求职者的参考。
在这篇文章中,我得到了一个可以匹配的解决scheme: https : //social.technet.microsoft.com/Forums/ie/en-US/f4c993e6-e226-4e39-8964-8f3a4b3dcf21/protected-view-for-networked-drives ?论坛= officeitproprevious
与上面Variantus的回答类似。
如果您确实知道您的文件所在的networking驱动器确实是可信任的位置 ,请参阅解决scheme的步骤:
- 打开国际互联网浏览器,点击“工具/ Internet选项”,然后select“安全”选项卡。
- 我select了本地Intranet,因为这是事实。
- 点击网站/高级。
- 在第一个字段中写入文件所在的networking驱动器或文件夹的path(并且要设置为安全位置)。
- 点击添加button,你就准备好了。
谢谢大家的时间。