Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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 工作簿_open()中未执行Datanitro python脚本_Excel_Datanitro_Vba - Fatal编程技术网

Excel 工作簿_open()中未执行Datanitro python脚本

Excel 工作簿_open()中未执行Datanitro python脚本,excel,datanitro,vba,Excel,Datanitro,Vba,在此工作簿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 W

在此工作簿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”消息框,然后是“called sub”消息框,但python脚本不会执行

但是,当我手动运行工作簿_Open()时,python脚本确实正确执行

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

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

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


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

test.py做什么?它是一行……单元格(“A9”)。value=1更普遍的问题是,虽然windows任务计划程序可以调用python脚本,但必须从打开的excel工作簿中启动Datanitro。因此,我知道的通过windows任务调度器使用Datanitro的唯一方法是让任务调度器打开excel文件,然后从工作簿_open()子例程调用Datanitro脚本。