2017-07-31 18 views
1

Excelマクロを使用してPythonスクリプトを呼び出そうとしています。しかし、私はVBA参考文献のExcel Pythonへの参照を見ません。 PyWin32がインストールされており、Excel Pythonもインストールされています。VBA for Excel Pythonでリファレンスが見つかりません

+0

これまで、私はvbaから実行したbatファイルでpythonスクリプトを呼び出すことでこれを行いました。私はもうコード片を持っていないが、あなたは確かにそれをグーグルにすることができる。 (batファイルはvbsscriptを開いていて、これがPythonスクリプトを実行した可能性があります)。 –

答えて

1

* .pyファイルは通常python.exeプログラム(PyWin32でインストールされたもの)によって実行されます。 python.exeプログラムが環境変数PATHに含まれている場合(通常はインストール後でなければなりません)、これは "python filename.py"を呼び出してどこからでも* .pyファイルの実行をcommandpromtを使って呼び出すことができることを意味します。コマンドシェルで

だからあなたのVBAコードからは、MicrosoftスクリプトランタイムまたはWindowsスクリプトホストのライブラリを使用してpython.exeが環境に含まれていない場合は

Call Shell("python filename.py") 

以下と同様の方法でシェルを呼び出すべきです変数PATHは、これはあなたが実行する

Call Shell("c:/path/to/python.exe filename.py") 

お知らせ実行その間のスペースやPythonのファイル名likesoプログラムの長いパスを呼び出す必要がありますを意味します。

1

ExcelとPythonの相互作用の程度に応じて、xlwingsパッケージを試してみることもできます。このパッケージはpywin32の上に構築されています。これにより、VBAからPythonスクリプトを呼び出すことができます。その後、Pythonスクリプトは、xlwings関数を使用してExcelアプリケーションと簡単にデータを交換できます。これらのexamplesdocumentationを参照してください。

+0

どちらが優れていますか?python https://github.com/ericremoreynolds/excelpython、またはxlwingsを凌駕しますか? – jenkelblankel

+0

@jenkelblankel 'xlwings'は' excelpython'の後継です。 「excelpython」のgithubページには次のように書かれています。「ExcelPythonはxlwingsに統合されました!ExcelPythonはもはや積極的に維持されず、さらなる開発作業はxlwingsのコンテキスト内で行われます。 – Xukrao

関連する問題