2016-11-02 11 views
0

Excelワークブックに値を書き込むPythonスクリプトを実行するVBAスクリプトがあります。Excel Pythonスクリプトが動作しないExcel VBAシェルスクリプト

Dim args 
Dim Ret_Val 
args = ActiveWorkbook.Path & "\helloWorld.py" 
Ret_Val = Shell("C:\Python27\python.exe " & args, vbNormalFocus) 

helloWorld.pyは以下のとおりである:

import xlrd 
from xlutils.copy import copy 
rb = xlrd.open_workbook("https://stackoverflow.com/a/b/StubProto.xlsm") 
wb = copy(rb) 
ws1 = wb.get_sheet(0) 
ws1.write(1, 11, "Hello World") 
wb.save("StubProto.xlsm") 

上記のコードは、Windows環境で自分自身でOK動作しますが、VBA環境では動作しません。 VBA環境では何も返されないようです。

私が間違っていることはありますか?

答えて

0

私は同じことを行いVBAスクリプトは、これは、それがどのように見えるかでています

args = """" & Application.ActiveWorkbook.Path & "\helloWorld.py"" P" 
output = ShellRun("""C:\Python27\python.exe"" " & args) 
0

問題は、間にスペースを持っていた引数のパスにディレクトリをしていました。 Pythonスクリプトのパス内のスペースを削除すると、エラーが修正されました。

関連する問題