0
我想在運行ipython筆記本(使用runipy)之前運行一個使用shell腳本的VBA模塊來執行其他操作,但是我的ipython筆記本腳本需要輸入,這些設置使用環境變量。執行VBA shell腳本設置環境變量
這裏的VBA我到目前爲止:
rundate = Range("b1").Value
shellScript = "runipy C:\argstest.ipynb"
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Set wshSystemEnv = wsh.Environment("SYSTEM")
wshSystemEnv("CURRWK") = rundate
如果我然後運行:
MsgBox (wshSystemEnv("CURRWK"))
的結果是正確的:
2015-04-17
不過,如果我繼續和執行我的shell腳本,它不承認這個變量
Set WshShellExec = wsh.exec(shellScript)
Range("a1").Value = WshShellExec.StdErr.ReadAll
讓我發現,蟒蛇運行時,它得到一個關鍵的錯誤:
KeyError: 'CURRWK'
如果我刪除VBA和直接在命令行中運行這個,我會做這樣的:
set CURRWK=2015-04-17
runipy C:\Python27\Programs\ipython\ACT\argstest.ipynb
如何獲得在VBA中創建的shell來創建新的環境變量,以便python腳本在執行時可以看到它?
謝謝!
繁榮!非常感謝,就這樣做了。 – flyingmeatball