私は現在、スクリプトを実行するためにPythonを呼び出すVBAでプログラムを実行しています。スクリプトはSQLからダウンロードし、次にVBAで消費される出力を生成するためのアルゴリズムを実行します(私のGUIはExcelで、最終出力はExcelテーブルであるため、このようにしています)。VBAからシェルスクリプトを使ってPythonにPythonを送る
は、私は以下のようにシェルスクリプト経由でPythonの一部を実行している:
Public Const PythonPath = "D:\Anaconda2\Python.exe "
Set ShellScript = VBA.CreateObject("WScript.Shell")
Filename = """I:\SQL Downloader_v4.2.py"""
ShellScript.Run (PythonPath & Filename), windowStyle, waitOnReturn
これは、SQLデータベースにアクセスするためのユーザー名とパスワードが必要なPythonアプリケーションを起動します。 Pythonは、スクリプト内のraw_inputを使ってユーザ名とパスワードを受け入れるように設定されています。この方法でVBAからPythonにユーザー名とパスワードを送信するにはどうすればよいですか、raw_input経由で行うよりも良い方法はありますか?
xlwingsを見てください、この種のもののために作られています –