Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

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

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

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

VBA プロジェクト モデルへのアクセスの有効化

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

MATLAB での関数の作成

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

この例では、関数 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 アドインの作成

関数 compiler.build.excelAddIn を使用して Excel アドインをビルドします。名前と値の引数を使用してライブラリ名とクラス名を設定し、Visual Basic ファイルの生成を有効にします。

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

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

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

mymagicexcelAddIn フォルダーに生成された次のファイルをターゲット マシンに配布します。

  • xlmagic.bas — VBA プロジェクトにインポートできる VBA モジュール ファイル。

  • xlmagic.xla — Excel に直接インストールできる Excel アドイン。.bas ファイルと .xla ファイルの両方は必要なく、いずれか 1 つで十分です。

  • xlmagic_1_0.dll — mwregsvr.exe または regsvr32.exe を使用して登録する必要がある生成された dll。

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

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

Microsoft Excel を開きます。

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

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

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

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

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

アドインのテスト

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

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

=mymagic(3)

キーボードで Ctrl+Shift+Enter を押します。選択したセルに次の出力が表示されます。

8    1    6
3    5    7
4    9    2

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

アドインの配布

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

参考

|

関連するトピック