2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

エクセルからPythonスクリプトを実行する(xlwingsを使用)

Last updated at Posted at 2020-10-07

はじめに

エクセルに実行ボタンを配置して、それを押すと、Pythonのコードを実行するスクリプトの雛形作成についてまとめたいと思います。
ここではxlwings quickstartを使用します。

前提環境

OS: macOS Catalina 10.15.3
python: Python 3.7.9 (Anaconda 4.8.3)
-> Anacondaを公式サイトからinstallした状態で、"test-env"という仮想環境を1つ作成済み

準備

1.以下のコマンドを実行をし、xlwingsのアドインをインストールする。
*xlwingsはエクセルからPythonを実行するためのモジュールのことです。

$ xlwings addin install

成功すると以下が表示されます。

xlwings version: 0.20.7
Successfully installed the xlwings add-in! Please restart Excel.
Successfully enabled RunPython!

2.アドインを適応させるために、ツール > Excel アドイン を選択
image.png
出てきたポップアップの「参照」を押し、xlwings.xlam を検索して選択 ->
ファイルを開くを押す。有効なアドインでXlwingsが選択されていればOKです。

image.png

3.全てのエクセルを閉じ、再度対象のエクセルを開く。
エクセルのメニューにxlwingsが増えていることを確認ください。
image.png

4.プロジェクトを作成したいディレクトリに移動する
5.コマンドラインで以下を実行。プロジェクト名には作成したいプロジェクトの名前を指定すること。

$ xlwings quickstart {{プロジェクト名}}

6.プロジェクトが作成されその中にプロジェクト名.pyとプロジェクト名.xlsmが作成されていることを確認する。今回はわかりやすいように"test_project"という名前のプロジェクトを作成しました。
(余談ですが、プロジェクト名を"test"にするとなぜか実行ボタンを押下の際にうまくスクリプトが実行されませんでした。こちらにもそのような記載がありました。)

image.png

エクセルに実行ボタンをつくってpythonスクリプトを実行する

1.VBE(Visual Basic Editor)を開く。ショートカットキーは「Alt+F11」
以下のような画面が開くことを確認する。
スクリーンショット 2020-10-07 17.52.40.png

2.エクセルに戻って実行ボタンを追加する。
image.png

その際、ポップアップが出てくるので、そのポップアップで、紐づけたいVBA関数を選択する。
ここでSampleCallを選択し、マクロ名の欄にも反映されることを確認しOKを押す。
image.png

これによってボタンを押したら、SampleCallが実行されることになります。

3.次に、pythonを実行するためのAnaconda環境を設定します。
エクセルのメニューのxlwingsを開きInterpreterの欄に

/Users/ユーザー名/opt/anaconda3/{Anacondaの環境名}/bin/pythonを記入します。

image.png

PYTHONPATHは実行した際に自動的に入るので空のままで大丈夫です。

4.ここまでで準備は完了です。ボタンをタップしてください。
A1に***Hello xlwings!***という文字が表示されればpythonのコードが実行できたことになります。
image.png

これで、エクセルからPythonコードを実行する雛形作成されました!

2
6
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
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?