VBA excel-从网络文件夹打开文件时,激活方法失败

VBA excel-从网络文件夹打开文件时,激活方法失败,vba,excel,Vba,Excel,我有一个excel文件和几个宏。我想在文件打开时完成一些事情。我使用以下代码: Private Sub Workbook_Open() Worksheets(1).Activate pass = "mits" Worksheets(1).Range("Q2:S16").NumberFormat = "General" Call prostasiaON(True) End Sub 此代码写在“This_工作簿模块”中,pass是模块1中声明的公共变量,prosta

我有一个excel文件和几个宏。我想在文件打开时完成一些事情。我使用以下代码:

Private Sub Workbook_Open()
    Worksheets(1).Activate
    pass = "mits"
    Worksheets(1).Range("Q2:S16").NumberFormat = "General"
    Call prostasiaON(True)
End Sub
此代码写在“This_工作簿模块”中,
pass
是模块1中声明的公共变量,
prostasiaON(模式为布尔值)
是执行其他操作的子变量

当我的文件在本地驱动器中时,它会按应有的方式打开。如果我在网络驱动器中复制文件并试图打开它,它会抛出一个错误

运行时错误“1004”:类工作表的方法激活失败

在第二行。有人能解释一下为什么会发生这种情况,我怎样才能避免这种情况


编辑:在抛出此错误之前,excel询问我是否允许编辑此文件,我选择了“是”。

问题与是否允许编辑有关,因为尽管工作簿已加载,但在您同意之前,代码不会实际运行。如果可以设置信任和权限以避免工作簿打开不完整以及是否允许编辑的问题,则不会出现问题。
如果您无法避免此问题,您也将无法避免在
Activate
上发生的错误。因此,我要做的是在错误恢复时添加
,然后在您描述的情况下,在不激活工作表的情况下继续生活。

以下是解决问题的方法。我把这篇文章作为未来求职者的参考

在这篇文章中,我得到了一个可以匹配的解决方案:

这一点与上面瓦里亚图斯的回答类似

如果您确实知道文件所在的网络驱动器确实是受信任的位置,以下是解决方案的步骤:

  • 打开iInternetΕxplorer,单击工具/互联网选项并选择安全选项卡
  • 我选择了本地Intranet,因为情况就是这样
  • 点击站点/高级
  • 在第一个字段中,写入文件所在的网络驱动器或文件夹的路径(并且要将其设置为安全位置)
  • 点击添加按钮,你就准备好了

  • 谢谢大家抽出时间。

    您的工作表受保护了吗?没有。您想
    激活工作表有什么特殊原因吗?你不需要那样做。您试图对工作表(1)执行的操作。范围(“Q2:S16”)。NumberFormat=“General”
    将在无需激活工作表的情况下工作。此外,通过VBA对工作表进行资格验证是一种更好的方法,然后尝试
    激活
    选择
    这是我希望用户在打开文件时看到的。这就是为什么。我会尝试。。。工作簿(“工作簿名称”)。。。并检查它是否比此工作簿更好