当我从VBA运行Python脚本时它不起作用但是当我从Spyder运行它时它确实有效,我该如何解决这个问题呢?

时间:2018-03-02 16:56:56

标签: python excel vba

所以我有两个工作簿:一个工作簿叫做“merged.xlsx”,这个数据是Python脚本的结果。

另一个工作簿是Action_Log.xlsm,我运行宏以便将merged.xlsx中的数据导入Action_Log.xlsm。

我的宏需要做的第一件事是运行Python脚本以更新merged.xlsx文件:

'run python script to update merged workbook
ret_value = Shell("C:\Python34\python-3.4.4.amd64\python.exe " & "G:\Data\Shared\Action Logs\ActionLogAppend4py.py", vbNormalFocus)

然而,当我运行宏时,我的合并文件没有更新(这当然意味着Python脚本没有运行,即使它看起来像是因为宏的其余部分继续运行,因此没有错误在这条线上)。当我从Spyder运行Python脚本时,我的合并文件更新就好了。所以我不知道问题是什么?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

应该引用可能包含空格的路径:

ret_value = Shell("C:\Python34\python-3.4.4.amd64\python.exe " & _
       """G:\Data\Shared\Action Logs\ActionLogAppend4py.py""", vbNormalFocus)