vBAでpythonスクリプトを呼び出して、私は初心者です。py2exeを使用してメインスクリプトをexeに変換し、VBA(シェル)から呼び出すことを試みましたが、メインスクリプトは他のスクリプトを呼び出しますしたがって、それは複雑になり、私はそれを台無しにします(私のexeは機能しません)。
要するに、スクリプトをexeファイルに変換せずに、Excel vbaからメインスクリプトを呼び出す方法があります。
これまでのところ、私は試しました:
RetVal = Shell("C:\python27\python.exe " & "import " & "C:\\" & "MainScriptFile")
Python.exeを起動しますが、それ以外は何もしません。それから私は試しました:
RetVal = Shell("C:\Windows\System32\cmd.exe " & "python " & "C:\\Python27\\hello.py")
コマンドプロンプトを起動しますが、Pythonも起動しません。
追伸フォーラムで関連するすべての質問を確認しましたが、問題は解決しません。
これを試して:
RetVal = Shell("<full path to python.exe> " & "<full path to your python script>")
または、pythonスクリプトがワークブックと同じフォルダーにある場合は、次を試すことができます。
RetVal = Shell("<full path to python.exe> " & ActiveWorkBook.Path & "\<python script name>")
<>
内のすべての詳細が提供されます。 <>
-変更可能なフィールドを示します
これでうまくいくと思います。ただし、スクリプトが別のフォルダーにある他のファイルを呼び出す場合、スクリプトが適切に処理しない限りエラーが発生する可能性があります。それが役に立てば幸い。
この問題を解決するにはいくつかの方法があります
Pyinx-非常に軽量なツールで、Python Excelプロセス空間の枯渇から http://code.google.com/p/pyinex/ を呼び出すことができます
私はこれを数年前に使用しました(積極的に開発されていた頃)
お支払いを気にしない場合、これはかなり良いようです
https://datanitro.com/product.html
使ったことないけど
既にPythonで作成している場合、Excelを完全に削除して、すべてを純粋なpythonで実行できますか? 2(Python + Excelのオーバーレイ)よりも1つのコードベース(python)を維持する方がはるかに簡単です。
本当にExcelにデータを出力する必要がある場合、Pythonにはそのための非常に優れたツールさえあります。それがうまくいく場合はお知らせください。リンクを取得します。
ExcelPython を試すこともできます。これにより、Pythonオブジェクトを操作し、VBAからコードを呼び出すことができます。