1

在 ThisWorkbook Excel 对象中,我有以下两个子例程:

Private Sub Workbook_Open()
    MsgBox "Hello World"

    Call call_DN

End Sub

Sub call_DN()
    Application.COMAddIns("DataNitro.DataNitro").Object.RunScript ("test.py")
    MsgBox "called sub"
End Sub

当我打开工作簿时,我看到“Hello World”消息框,然后是“调用子”消息框,但 python 脚本没有执行。

但是,当我随后手动运行 Workbook_Open() 时,python 脚本会正确执行。

为什么 python 脚本在应用程序启动时不执行?

没有错误消息被抛出 - 似乎 .runscript 命令被忽略了。

4

1 回答 1

1

DataNitro 有一个自动启动选项,用于在工作簿启动时调用脚本。请使用它而不是 VBA 的工作簿打开挂钩。

(工作簿打开钩子理论上应该可以工作,但看起来不行。)

于 2015-03-03T16:57:13.537 回答