シェルを使ってうまく動作するvbaからpythonスクリプトを呼び出す必要があります。wshでvbaのpythonスクリプトを呼び出す
Sub CallPythonScript()
Call Shell("C:\Program Files (x86)\Python27\python.exe C:\Users\Markus\BrowseDirectory.py")
End Sub
しかし、wshを使用しようとすると(待ち時間のため)、もう機能しません。
Sub CallPythonScript()
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim myApp As String: myApp = "C:\Program Files (x86)\Python27\python.exe C:\Users\Markus\BrowseDirectory.py"
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
wsh.Run """"" & myApp & """"", windowStyle, waitOnReturn
End Sub
しかし、私は自宅で同じコードを使用しましたが、パスに空白がないという違いを除いて、すべてうまく機能しました。当然、空白には何か問題があるはずです。ヘルプは非常に高く評価されます。
私はそれがその経路で働いたことは疑います:あなたのパスにはスペースがあります。 wsh.Runは引数を解析する方法をどのように知っていますか?自宅では、確かに 'C:\ python27'でPythonを持っていました。 –
まさに、それは私が "道に空白がない"という意味です。 –