【问题标题】:workbook_open not working when starting excel 2010 workbook from vbs从 vbs 启动 excel 2010 工作簿时,workbook_open 不起作用
【发布时间】:2015-08-31 07:57:49
【问题描述】:

我正在使用 Excel 2010。我正在使用以下代码从 VBS(VB 脚本)打开 test.xls 文件:

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("E:\test\test.xls")
objExcel.Application.Visible = True

工作簿 test.xls 可以正常打开,但我放在 Thisworkbook 模块中的 workbook_open 宏:

Private Sub Workbook_Open()
MsgBox "Hello"
End Sub

不运行。

当我直接打开 test.xls 时它可以工作,而不是通过 VB 脚本。

我已将开发人员 > 宏安全 > 宏设置设置为启用所有宏, 但这仍然没有帮助。

【问题讨论】:

  • 为我工作。如果已启用,您可能想尝试禁用受保护的视图。

标签: excel vbscript


【解决方案1】:

最近我遇到了同样的问题。这就是我所做的。

  1. 将文件另存为 .xlsm(启用宏的 excel)。

  2. 不要在工作表中编写代码,而是创建新模块并将 VBA 代码复制到名称为“Excel_Macro”的函数或子中。

  3. 在您的 VBS 代码中包括以下两行(从您打开 excel 的位置)。

objExcel.Run("Excel_Macro")

这对我有用。

【讨论】:

  • 问题原因:您正在尝试使用工作簿事件,这些事件对于它们所属的对象(在本例中为加载项)是本地的。您需要的是一个应用程序事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
  • 2015-06-02
  • 1970-01-01
  • 2023-03-24
  • 2013-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多