アドインおよび設定

_images/ribbon.png

xlwingsのアドインをインストールすることで、 Run main ボタン、 RunPython および UDF が使えるようになります。なお、PythonのスクリプトでExcelを操作するだけであれば、アドインは不要です。

注釈

アドインのリボンは、WindowsならExcel 2007以降、MacならExcel 2016以降で使えます。なお、UDF関連機能はMacでは使えません。

注釈

アドインは、パスワード xlwings でパスワード保護されています。デバッグまたは機能追加を行うには、保護を解除してください。もしくは、 xlwings addin install --unprotected でアドインをインストールすることもできます。

Run main

バージョン 0.16.0 で追加.

Pythonのコードを実行する一番簡単な方法は、Run main ボタンです。このボタンは、ワークブックと同じ名前のPythonモジュールにある main 関数を実行します。この方法なら、マクロが無効化された xlsx 形式でワークブックを保存できます。また、 xlwings quickstart コマンドから、 Run ボタンが自動的に機能するワークブックを作成することもできます。

インストール

アドインをインストールするには、コマンド ライン クライアントで次のコマンドを実行します:

xlwings addin install

技術的には、このコマンドは、Pythonのインストール ディレクトリからExcelの XLSTART ディレクトリに、アドインをコピーします。 次に、ワークブックで RunPythonUDFs を使用するために、VBAエディタの参照設定に xlwings を追加します。次のスクリーンショットを見てください(Windows: ツール > 参照設定... , Mac: VBAエディタの左下の角)。なお、 xlwings quickstart で作成したワークブックであれば、参照設定への追加は必要ありません。

_images/vba_reference.png

ユーザー設定

アドインの設定は、最初のインストール時に自動的に調整されるため、、quickstart で作成したプロジェクトは十分に機能します。ファインチューニングを行うには、以下を設定します。

  • Interpreter: Python インタープリターのパスを設定します。この設定はMac上の仮想環境かconda環境でも機能します。Windowsでconda環境を使用する場合は空白のままとし、代わりに以下で説明する Conda PathConda Env を設定してください。例: "C:\Python35\pythonw.exe" または "/usr/local/bin/python3.5"。なお、configファイルにはそれぞれ Interpreter_Win または Interpreter_Mac として保存されています(以下を参照)。

  • PYTHONPATH: コードのソースファイルが見つからない場合、ここにディレクトリーのパスを追加してください。

  • Conda Path: WindowsでAnacondaかMinicondaを使用している場合、ここにインストール先のパスを、入力してください。 例: C:\Users\Username\Miniconda3%USERPROFILE%\Anaconda 。なお、conda 4.6以上が必要となります。 Conda Env の設定も必要となりますので、次もご覧ください。

  • Conda Env: WindowsでAnacondaかMinicondaを使っている場合、ここにconda環境の名前を入力してください。例えば、ベース インストールであれば basemyenv という名前のconda環境であれば myenv とします。

  • UDF Modules: UDFをインポートするPythonモジュールの名前(.py拡張子を除く)。モジュールが複数の場合は";"で区切ります。例: UDF_MODULES = "common_udfs;myproject" 何も入力しなければ、Excel スプレッドシートと同じディレクトリにある同じ名前のファイル(拡張子は .py)をインポートします。

  • Debug UDFs: デバッグ用に手動でxlwingsのCOM サーバーで実行するには、このボックスにチェックを入れます。 デバッグ をご覧ください。

  • RunPython: Use UDF Server: RunPythonでUDFと同じCOMサーバーを使用します。コールの都度インタープリターをシャットダウンしないため、動作が速くなります。

  • Restart UDF Server: UDF Server/Pythonインタープリターを再起動します。

  • Show Console: コマンド プロンプトを表示するには、リボンのボックスにチェックするかconfigファイルで TRUE を設定してください。これは現在Windowsのみで有効です。

Anaconda/Miniconda

WindowsでAnacondaかMinicondaを使用している場合、 Numpy 等の使用時にエラーとならないよう、 Conda PathConda Env を設定し、 Interpreter を空白にする必要があります。

環境変数

環境変数を使えば、インタープリターや PYTHONPATH へのパス等を動的に設定することができます:

  • Windowsでは、 %USERPROFILE%\Anaconda のようなすべての環境変数を利用できます。

  • macOSでは、次の変数をサポートしています: $HOME$APPLICATIONS$DOCUMENTS$DESKTOP

ユーザー設定: リボン/Config ファイル

xlwingsのリボンで行った設定はコンフィグファイルに保存されていますが、手動で設定することもできます。その場所は以下のとおりです。

  • Windows: .xlwings\xlwings.conf in your home folder, that is usually C:\Users\<username>

  • macOS: ~/Library/Containers/com.microsoft.Excel/Data/xlwings.conf

フォーマットは次のとおり(現在のところキー項目は全て大文字でなければなりません) - OS依存のインタープリター設定があることに注意!

"INTERPRETER_WIN","C:\path\to\python.exe"
"INTERPRETER_MAC","/path/to/python"
"PYTHONPATH",""
"CONDA PATH",""
"CONDA ENV",""
"UDF MODULES",""
"DEBUG UDFS",""
"USE UDF SERVER",""
"SHOW CONSOLE",""
"ONEDRIVE_WIN",""
"ONEDRIVE_MAC",""

注釈

The ONEDRIVE_WIN/_MAC setting has to be edited directly in the file, there is currently no possibility to edit it via the ribbon. Usually, it is only required if you are either on macOS or if your environment variables on Windows are not correctly set or if you have a private and corporate location and don't want to go with the default one. ONEDRIVE_WIN/_MAC has to point to the root folder of your local OneDrive folder.

ワークブック ディレクトリ設定: Config ファイル

ワークブックのディレクトリに xlwings.conf ファイルを作れば、リボン/Config ファイルのグローバル設定を上書きできます。

注釈

Workbook directory config files are not supported if your workbook is stored on SharePoint.

ワークブック設定: xlwings.conf シート

ワークブック固有の設定は、グローバル設定やワークブック ディレクトリの設定を上書きします。 xlwings.conf という名前のシートに設定のキーと値を入力すれば、ワークブック固有の設定を行えます。 xlwings quickstart で新しいプロジェクトを始めれば、ワークブックにそのようなシートが初めから含まれており、シート名を xlwings.conf に変更すると設定が有効になります。

_images/workbook_config.png

その他の方法: 独立したVBA モジュール

アドインをインストールせずにxlwingsのコードを実行するのが有用なときもあります。プロジェクト作成時に standalone オプションを使用すれば、そのようにできます: xlwings quickstart myproject --standalone

これはアドインの内容を1つのVBAモジュールとしてブックに追加するもので、アドインへの参照設定が不要になります。 macOSでは、さらに Dictionary.cls を含める必要があります。なお、この方法でも xlwings.conf の設定は読み込まれますし、 xlwings.conf シートで上書きすることもできます。