0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【xlwings】Excel VBAからpythonコード呼び出し

Posted at

序文

pythonが便利すぎるので、C言語の#include 、VBAからpythonを呼び出すxlwings、近々Unityからpythonを呼び出す方法をチェック予定と、とにかくpythonを手放せない。

モジュールが便利過ぎるんですよね。

そういや、一時期Python in Excelが話題になったけど、最近は聞かないな。
個人的には、これは大歓迎。Officeを使っている理由は、VBAが7割くらいを占めているので、その縛りがなくなるなら無料ソフトに移行できるし・・・

VBAからpythonを呼ぶ最小プログラム

設定前のExcelメニューバー状態確認

WS001642867.jpg

仮想環境準備

既存環境に影響を及ぼさせたくないので下記のコマンドをコマンドプロンプトで実行

python -m venv xlwings_test
cd ./xlwings_test
.\Scripts\activate

仮想環境フォルダ(コマンドで作成したxlwings_testフォルダを確認)

以下ここにpythonモジュールがダウンロードされるので、環境を汚さずにテストできます。

WS001642867_.jpg

xlwingsをインストール

pip install xlwings

WS001642870.jpg

xlwingsアドインのインストール

xlwings addin install

WS001642871.jpg

Excelのメニューバーでxlwingsが追加されていることを確認

画像のようにxlwingsが追加されていればOKです。

WS001642872_2.jpg

動作確認プログラム

ちゃんと使えるか疎通テスト

xlwings quickstart test_xlwings_VBA

本コマンドで、VBAとpythonのセットを作ってくれるのでこれを実行します。
WS001642873.jpg

WS001642874_b.jpg

マクロを実行

Run Mainをクリック

Run Mainをクリックし、A1セルに「Hello xlwings!」と表示されればOK!
WS001642879.jpg

ちなみに、もう一回クリックすると「Bye xlwings!」に変わり、pythonコードのとおりですね。

トラブルシューティング

下記のエラーが出た場合は、パスが通っていない可能性があるので、Interpreterでpythonのパスを貼り付け直して上げれば直ります。(VBAってエラーメッセージが不親切なんだよな・・・)

WS001642877_.jpg

WS001642879_path.jpg

後片付け

xlwings addin remove

でアドインを削除し、Excelのメニューから消えます。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?