Main Content

MATLAB からの Excel アドインの作成

サポートされるプラットフォーム: Microsoft® Windows® のみ。

この例では、MATLAB® Compiler™ を使用して、Excel® 内で使用するカスタム関数が含まれる Microsoft Excel アドインを生成する方法を説明します。関数 mymagic は、行の和と列の和が等しい n 行 n 列の魔方陣行列を返します。このアドイン実行のために、MATLAB のライセンス コピーがターゲット システムにインストールされている必要はありません。

始める前に、MATLAB Compiler の Excel ターゲットの要件がすべて満たされていることを確認します。詳細については、MATLAB Compiler での Excel ターゲットの要件と制限を参照してください。

メモ

Visual Basic® ファイルを生成するには、Excel で [VBA プロジェクト オブジェクト モデルへのアクセスを信頼する] を有効にします。これを行わない場合、.bas ファイルを Excel にインポートすることでアドインを手動で作成できます。

MATLAB での関数の作成

MATLAB で、Excel アドインとしてデプロイする MATLAB コードを見つけます。

この例では、matlabroot\toolbox\matlabxl\examples\xlmagic にある関数 mymagic.m をコンパイルします。

function y = mymagic(x)
y = magic(x)

MATLAB コマンド プロンプトで、mymagic(5) と入力します。

出力は 5 行 5 列の正方行列になります。

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

ライブラリ コンパイラ アプリを使用した Excel アドインの作成

ライブラリ コンパイラ アプリを使用して、関数を Excel アドインにパッケージ化します。あるいは、プログラムによる方法で MATLAB コマンド ウィンドウから Excel アドインを作成する場合は、compiler.build.excelAddIn を使用した Excel アドインの作成を参照してください。

  1. ライブラリ コンパイラ アプリを開くには、MATLAB プロンプトで「libraryCompiler」と入力します。

    あるいは、[MATLAB アプリ] タブで、[アプリ] セクションの右端にある矢印をクリックします。[アプリケーションのデプロイ] で、[ライブラリ コンパイラ] をクリックします。

  2. [MATLAB Compiler] プロジェクト ウィンドウの [タイプ] セクションで、[Excel アドイン] を選択します。

    Library Compiler with Excel Add-in type selected and mymagic.m in the exported function section

  3. ライブラリ コンパイラ アプリのプロジェクト ウィンドウで、デプロイする MATLAB アプリケーションのファイルを指定します。

    1. ツールストリップの [エクスポートする関数] セクションで、Add exported function to the project をクリックします。

    2. [ファイルの追加] ウィンドウで、サンプルのフォルダーを参照し、パッケージ化する関数を選択します。[開く] をクリックします。

    エクスポートする関数ファイルのリストに関数が追加されます。同じアプリケーションに複数のファイルをパッケージ化するには、この手順を繰り返します。

  4. ツールストリップの [パッケージ化オプション] セクションで次のオプションのいずれかを選択して、生成されるアプリケーションに MATLAB Runtime インストーラーを含めるかどうかを決定します。

    • ランタイムを Web からダウンロードMATLAB Runtime をダウンロードしてデプロイされた MATLAB アプリケーションと共にインストールするインストーラーを生成します。インストーラーのファイル名を指定できます。

    • ランタイムをパッケージに含めるMATLAB Runtime インストーラーを含むアプリケーションを生成します。インストーラーのファイル名を指定できます。

      メモ

      このオプションを初めて選択したときに、MATLAB Runtime インストーラーをダウンロードするように求めるメッセージが表示されます。

  5. 次に、アドインの名前を定義し、アプリケーションにビルドする .m ファイルのクラス マッピングを確認します。

    1. [ライブラリ名] フィールドに、アセンブリの名前として mymagic が自動的に入力されます。この名前を xlmagic に変更します。同じ名前が、アドインの実装時にも使用されます。

    2. mymagic.m に定義された関数が xlmagicclass にマッピングされていることを確認します。クラス名を変更するには、クラスをダブルクリックします。

    Library Compiler Class Name section with class name xlmagicclass for the method mymagic

  6. パッケージ化されたアプリケーションとその外観をカスタマイズします。

    • ライブラリ情報 — デプロイされるアプリケーションに関する編集可能な情報。生成されるインストーラーはこの情報を使用して、インストールされるアプリケーションのメタデータを入力します。インストーラーのカスタマイズを参照してください。

    • 追加インストーラー オプション — 生成されるインストーラーの既定のインストール パスの編集と、カスタム ロゴの選択。インストール パスの変更を参照してください。

    • ライブラリの実行に必要なファイル — 生成されるアプリケーションを実行するために必要な追加ファイル。これらのファイルは、生成されるアプリケーション インストーラーに含められます。コンパイラ プロジェクトの必須ファイルの管理を参照してください。

    • エンド ユーザー用にインストールされるファイル — アプリケーションと共にインストールされるファイル。

      アプリケーションと共にインストールするファイルの指定を参照してください。

    • ランタイム追加設定 — 生成される実行可能ファイルを制御するためのプラットフォーム固有のオプション。ランタイム追加設定を参照してください。

    Library Compiler with project name xlmagic and class name xlmagicclass

アプリケーションのパッケージ化

パッケージ化オプションの選択が終了したら、ライブラリ コンパイラのプロジェクトを保存し、パッケージ化されたアプリケーションを生成します。

  1. [パッケージ化] をクリックします。

    [プロジェクトを保存] ダイアログ ボックスで、プロジェクトを保存する場所を指定します。

  2. [パッケージ] ダイアログ ボックスで、[プロセスが完了したら出力フォルダーを開く] が選択されていることを確認します。

    パッケージ化プロセスが完了したら、ターゲット フォルダー内の生成された出力を調べます。

    • 3 つのフォルダー for_redistributionfor_redistribution_files_only、および for_testing が生成されます。

      これらのフォルダーに生成されるファイルの詳細については、MATLAB 関数のパッケージ化後に生成されるファイルを参照してください。

    • ログ ファイル PackagingLog.html にはパッケージ化の結果が含まれています。

compiler.build.excelAddIn を使用した Excel アドインの作成

ライブラリ コンパイラ アプリの代わりに、プログラムによる方法を使用して Excel アドインを作成することができます。ライブラリ コンパイラ を使用してアドインが既に作成されている場合は、Excel でのアドインのインストールを参照してください。

  1. MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。この例では、matlabroot\toolbox\matlabxl\examples\xlmagic にあるファイル mymagic.m を使用してコンパイルします。

    appFile = fullfile(matlabroot,'toolbox','matlabxl','examples','xlmagic','mymagic.m');
  2. 関数 compiler.build.excelAddIn を使用して Excel アドインをビルドします。名前と値の引数を使用してライブラリ名とクラス名を指定し、Visual Basic ファイルの生成を有効にします。

    buildResults = compiler.build.excelAddIn(appFile, ...
    'AddInName','xlmagic', ...
    'ClassName','xlmagicclass', ...
    'GenerateVisualBasicFile','on');

    compiler.build コマンドで名前と値の引数を使用して、追加オプションを指定できます。詳細については、compiler.build.excelAddIn を参照してください。

    compiler.build.Results オブジェクト buildResults には、ビルド タイプ、生成ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報が含まれています。

    関数により、現在の作業ディレクトリの mymagicexcelAddIn という名前のフォルダーに以下のファイルが生成されます。

    • dlldata.c

    • GettingStarted.html

    • includedSupportPackages.txt

    • xlmagic.def

    • xlmagic.bas

    • xlmagic.rc

    • xlmagic.xla

    • xlmagic_1_0.dll

    • xlmagic_dll.cpp

    • xlmagic_idl.h

    • xlmagic_idl.idl

    • xlmagic_idl.tlb

    • xlmagic_idl_i.c

    • xlmagic_idl_p.c

    • xlmagicClass_com.cpp

    • xlmagicClass_com.hpp

    • mccExcludedFiles.log

    • mwcomtypes.h

    • mwcomtypes_i.c

    • mwcomtypes_p.c

    • readme.txt

    • requiredMCRProducts.txt

    • unresolvedSymbols.txt

    メモ

    生成されたアドインには MATLAB Runtime またはインストーラーが含まれていません。buildResults オブジェクトを使用してインストーラーを作成するには、compiler.package.installer を参照してください。

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

  1. Microsoft Excel を開きます。

  2. [ファイル] タブで、[オプション][アドイン] カテゴリの順にクリックします。

  3. [管理] ボックスで [Excel アドイン][設定] の順にクリックします。[アドイン] ダイアログ ボックスが表示されます。

  4. [参照] をクリックし、アドイン xlmagic.xla を見つけます。

  5. 自分のユーザー名と関連付けられている Addins フォルダーに xlmagic.xla をコピーするように求められます。アドインをコピーするか、直接実行するかを選択できます。この例では [はい] を選択します。アドインがコピーされ、ワークブックに追加されます。

  6. [OK] をクリックして、[アドイン] ダイアログ ボックスを閉じます。

アドインのテスト

  1. Excel ワークブックで 3 行 3 列のセルのグリッドを選択します。

  2. 数式バーで次のカスタム関数を入力します。

    =mymagic(3)
    数式バーで「my」と入力すると、Excel で mymagic がカスタム関数として表示されます。

  3. キーボードで Ctrl+Shift+Enter キーを押します。

    選択されたセルに、次の出力が表示されます。

    8	1	6
    3	5	7
    4	9	2
  4. その他の例については、matlabroot\toolbox\matlabxl\examples\xlmagic にあるファイル xlmagic.xls を開いてください。このスプレッドシートには、コンパイルした MATLAB 関数を使用するさまざまな方法を示す 3 つのカスタム VBA マクロがあります。

アドインの配布

アドインをエンド ユーザーに配布するには、アドインの配布および Microsoft Excel への統合を参照してください。

参考

|

関連するトピック