我試圖運行在Excel VBA Python腳本是這樣的:運行python腳本什麼也不做
Shell("python " & ActiveWorkbook.Path & "\CreateVolsurface.py -d ""10 Sep 12""")
但不起任何作用。如果我看到任務管理器,甚至不會創建一個python進程。如果我調試並複製上面代碼中創建的字符串並將其粘貼到命令提示符中,它將完美運行。
python腳本將一個日期(作爲字符串)作爲參數並創建一個圖像文件。
任何想法,爲什麼這不會工作,或者我可以調試它?
我也試過這樣:
Shell ("python CreateVolsurface.py -d ""10 Sep 12""")
這:
ret_val = Shell("python " & ActiveWorkbook.Path & "\CreateVolsurface.py -d ""10 Sep 12""", vbHide)
但他們也無能爲力。
的問題是,在shell()
VBA開始cmd.exe,在它的默認文件夾,而不是在當前工作簿中的活動文件夾。在我的Python腳本中,我有相對路徑引用,這是一個問題。爲了解決這個問題,我在我的python腳本中使用os模塊在開始時更改當前目錄。
謝謝,其實看起來像其他地方的錯誤,但使用正常焦點幫助我找到它。 Shell(「」)啓動cmd.exe但我猜這是有道理的,它啓動它在C:\ Users ... \ Documents中,而不是在ActiveWorkbook.Path中。我相信我會弄清楚如何改變這一點。哦,錯誤是因爲我正在使用python腳本中的相對路徑名讀取文件,所以無法從錯誤的目錄中運行它:/ – Dan