メインコンテンツ

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

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

プログラムによる方法を使用して Excel アドインをビルドします。あるいは、グラフィカル インターフェイスを使用して Excel アドインを作成する場合は、Create Excel Add-In Using Excel Add-In Compiler Appを参照してください。

  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 への統合を参照してください。

参考

トピック