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

问题描述 投票:0回答:1

所以我有两个工作簿:一个工作簿叫做“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脚本时,我的合并文件更新就好了。所以我不知道问题是什么?

任何帮助将不胜感激。

python excel vba
1个回答
0
投票

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

ret_value = Shell("C:\Python34\python-3.4.4.amd64\python.exe " & _
       """G:\Data\Shared\Action Logs\ActionLogAppend4py.py""", vbNormalFocus)
© www.soinside.com 2019 - 2024. All rights reserved.