Main Content

アドインの配布および Microsoft Excel への統合

Microsoft® Excel® アドインを作成するには、MATLAB からの Excel アドインの作成を参照してください。

Excel アドインの作成後、次の手順に従って別のマシンにアドインをデプロイします。

  1. デプロイに必要なファイルをすべて受け取ったことを確認します。

  2. MATLAB® Runtime をインストールします。

  3. 生成されたインストーラー、_install.bat インストール スクリプト、または mwregsvr を使用して、アドイン DLL を登録します。

  4. mwregsvr を使用して、ユーティリティ ライブラリ mwcomutil.dll および mwcommgr.dll を登録します。

  5. Excel にアドインをインストールします。

  6. ワークシート内でアドイン関数を直接呼び出します。

  7. (オプション) Function Wizard またはカスタム VBA コードを使用して、マクロを作成します。

Excel アドインのデプロイ用ファイル

ライブラリ コンパイラを使用して Excel アドインを作成した場合、または compiler.package.installer を使用してインストーラーを作成した場合は、生成されたインストーラーをエンド ユーザーに配布します。インストーラーにより、ターゲット マシンに Excel アドインと MATLAB Runtime がインストールされ、アドイン DLL が登録されます。ライブラリ コンパイラにより、アドイン DLL を登録する _install.bat という名前のインストール スクリプトも生成されます。インストーラーまたはスクリプトを使用せずに DLL を登録するには、以下のアドインと COM コンポーネントの登録を参照してください。

インストーラーを作成しない場合は、ライブラリ コンパイラによって for_redistribution_files_only フォルダー内に生成されるファイルを配布します。各フォルダーに生成されるファイルのリストは、MATLAB 関数のパッケージ化後に生成されるファイルを参照してください。

MATLAB Runtime のインストール

MATLAB Runtime には、コンパイル済みの MATLAB コードを MATLAB のライセンス コピーなしにターゲット システム上で使用するために必要なライブラリが含まれています。手順については、MATLAB Runtime のインストールと構成を参照してください。

Windows® 用の MATLAB Runtime インストーラーは自動的にシステム パスを設定して、Excel アドインに必要な MATLAB Runtime DLL を登録します。これらの手順を手動で実行するには、MATLAB Runtime のネットワーク インストールを使用したアプリケーションの実行を参照してください。

アドインと COM コンポーネントの登録

メモ

COM コンポーネントは MATLAB Compiler™MATLAB Compiler SDK™ の両方で使用されています。そのため、COM コンポーネントおよびアドインのビルドとパッケージ化に関する手順の一部は、製品間で共有できます。

COM コンポーネントを作成すると、ログイン権限に基づいて HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER のいずれかに登録されます。

Microsoft またはインストール環境によって課せられるセキュリティ標準のために実行時の権限を変更する必要がある場合、COM コンポーネントまたはアドインをデプロイする前に以下のいずれかを行うことができます。

  • COM コンポーネントまたはアドインを実行する前に administrator としてログオン。

  • COM コンポーネントまたはアドインを実行する前に、次の mwregsvr コマンドを実行。

    mwregsvr [/u] [/s] [/useronly] project_name.dll 
    パラメーターは次のとおりです。

    • /u を指定すると、任意のユーザーがこのサーバーの COM コンポーネントまたはアドインの登録を取り消すことができる

    • /s はメッセージを表示せずにこのコマンドを実行する。これは、サイレント インストールで役に立ちます

    • /useronly を指定すると、このサーバーで COM コンポーネントまたはアドインの実行が許容されるのは、現在ログインしているユーザーのみになる

注意

COM コンポーネントが USER ハイブに登録されている場合、UAC ([ユーザー アカウント制御]) が有効になっているシステムで administrator として Windows Vista® または Windows 7 を実行しているユーザーに、このコンポーネントは表示されません。

コンポーネントを Windows 7 または Windows Vista の USER ハイブに登録した場合、管理者特権 (administrator) で実行すると COM コンポーネントの読み込みに失敗する可能性があります。

これが発生した場合、以下を行ってコンポーネントを LOCAL MACHINE ハイブに再登録します。

  1. 次のコマンドでコンポーネントの登録を解除します。

    mwregsvr /u /useronly my_dll.dll
    

  2. 次のコマンドでコンポーネントを LOCAL MACHINE ハイブに再登録します。

    mwregsvr my_dll.dll

MATLAB ユーティリティ ライブラリの登録

データ変換を処理するために、MATLAB Compiler で生成される VBA コードは、mwcomutil.dll および mwcommgr.dll の各ユーティリティ ライブラリを参照します。これらのライブラリを登録するには、次を行います。

  1. システム コマンド プロンプトを開きます。

  2. matlabroot\bin\win64 に移動します。ここで、matlabroot は、Excel アドインのコンパイルに使用した MATLAB リリースに対応する MATLAB または MATLAB Runtime の場所を表します。

  3. 次のコマンドを実行します。

    mwregsvr mwcomutil.dll
    mwregsvr mwcommgr.dll

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

ご使用の Excel のバージョン用の手順に従って、Microsoft Excel にアドインをインストールします。

Excel 2010 以降

  1. Excel の [ファイル] タブをクリックします。

  2. 左側のナビゲーション ペインで、[オプション] を選択します。

  3. [Excel のオプション] ダイアログ ボックスの左側のナビゲーション ペインで、[アドイン] を選択します。

  4. [管理] ドロップダウン リストから [Excel アドイン] を選択し、[設定] をクリックします。

  5. [アドイン] ダイアログ ボックスで、[参照] をクリックします。

  6. アドインを参照して選択します。[OK] をクリックします。

  7. Excel の [アドイン] ダイアログ ボックスで、使用するアドインを含むエントリが選択されていることを確認します。[OK] をクリックします。

Excel 2007

  1. Microsoft Excel を起動します。

  2. [Office] ボタン () をクリックし、[Excel のオプション] を選択します。

  3. [Excel のオプション] ダイアログ ボックスの左側のペインで、[アドイン] をクリックします。

  4. [Excel のオプション] ダイアログ ボックスの右側のペインで、[管理] ドロップダウン リストから [Excel アドイン] を選択します。

  5. [移動] をクリックします。

  6. [参照] をクリックします。

  7. アドインを参照して選択します。[OK] をクリックします。

  8. Excel の [アドイン] ダイアログ ボックスで、使用するアドインを含むエントリが選択されていることを確認します。[OK] をクリックします。

Excel スプレッドシートでの MATLAB 関数の使用

Excel にアドインをインストールしたら、Excel のカスタム関数の形式で直接メソッドを呼び出して、アドイン関数を起動します。

オプションで、Excel のマクロを使用して、入力セルと出力セルを指定したり、複数の関数を同時実行したり、複数の出力を処理したりします。マクロを作成するには、MATLAB Compiler に付属の Function Wizard アドインを使用します。追加機能については、カスタム VBA コードを使用してマクロの作成または変更を行います。

スプレッドシート内でのメソッドの直接呼び出し

Excel スプレッドシート内で MATLAB 関数を実行するには、ターゲットの出力セルでメソッド呼び出しを使用して関数を起動します。たとえば、mymagic.m という MATLAB コードまたは mymagic.fig という Figure をデプロイした場合は、スプレッドシートのセルに次の関数を入力してそのコードを呼び出します。

=mymagic()

関数が配列を返す場合は、その配列のサイズに一致するセル範囲を選択します。

ヒント

メソッド呼び出しがすぐに評価されない場合、CtrlShift および Enter キーを同時に押します。

Function Wizard を使用した Excel マクロの作成

Function Wizard には、1 つ以上のコンパイル済み MATLAB 関数を使用してマクロを作成するためのコントロール パネルがあります。Function Wizard を使用して、Excel ワークシート内の MATLAB 入力データと出力データの配置を制御します。

詳細については、Function Wizard のインストールと使用を参照してください。

VBA を使用した Excel マクロの作成

Function Wizard で作成可能なものより多くの機能をもつ Excel マクロを作成するには、VBA コードを使用します。変数、ループ、フォーム、コントロール、その他のプログラミング手法を使用して、カスタム Excel プログラムを作成できます。

VBA コードを使用してカスタムのグラフィカル Excel アプリケーションを作成する例については、Visual Basic フォーム コントロールを使用したユーザー インターフェイスの実装を参照してください。

関連するトピック