序文
pythonが便利すぎるので、C言語の#include 、VBAからpythonを呼び出すxlwings、近々Unityからpythonを呼び出す方法をチェック予定と、とにかくpythonを手放せない。
モジュールが便利過ぎるんですよね。
そういや、一時期Python in Excelが話題になったけど、最近は聞かないな。
個人的には、これは大歓迎。Officeを使っている理由は、VBAが7割くらいを占めているので、その縛りがなくなるなら無料ソフトに移行できるし・・・
VBAからpythonを呼ぶ最小プログラム
設定前のExcelメニューバー状態確認
仮想環境準備
既存環境に影響を及ぼさせたくないので下記のコマンドをコマンドプロンプトで実行
python -m venv xlwings_test
cd ./xlwings_test
.\Scripts\activate
仮想環境フォルダ(コマンドで作成したxlwings_testフォルダを確認)
以下ここにpythonモジュールがダウンロードされるので、環境を汚さずにテストできます。
xlwingsをインストール
pip install xlwings
xlwingsアドインのインストール
xlwings addin install
Excelのメニューバーでxlwingsが追加されていることを確認
画像のようにxlwingsが追加されていればOKです。
動作確認プログラム
ちゃんと使えるか疎通テスト
xlwings quickstart test_xlwings_VBA
本コマンドで、VBAとpythonのセットを作ってくれるのでこれを実行します。
マクロを実行
Run Mainをクリック
Run Mainをクリックし、A1セルに「Hello xlwings!」と表示されればOK!
ちなみに、もう一回クリックすると「Bye xlwings!」に変わり、pythonコードのとおりですね。
トラブルシューティング
下記のエラーが出た場合は、パスが通っていない可能性があるので、Interpreterでpythonのパスを貼り付け直して上げれば直ります。(VBAってエラーメッセージが不親切なんだよな・・・)
後片付け
xlwings addin remove
でアドインを削除し、Excelのメニューから消えます。