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\xlmagicmymagic.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 9compiler.build.excelAddIn を使用した Excel アドインの作成
プログラムによる方法を使用して Excel アドインをビルドします。あるいは、グラフィカル インターフェイスを使用して Excel アドインを作成する場合は、Create Excel Add-In Using Excel Add-In Compiler Appを参照してください。
MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。この例では、
にあるファイルmatlabroot\toolbox\matlabxl\examples\xlmagicmymagic.mを使用してコンパイルします。appFile = fullfile(matlabroot,'toolbox','matlabxl','examples','xlmagic','mymagic.m');
関数
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.cGettingStarted.htmlincludedSupportPackages.txtxlmagic.defxlmagic.basxlmagic.rcxlmagic.xlaxlmagic_1_0.dllxlmagic_dll.cppxlmagic_idl.hxlmagic_idl.idlxlmagic_idl.tlbxlmagic_idl_i.cxlmagic_idl_p.cxlmagicClass_com.cppxlmagicClass_com.hppmccExcludedFiles.logmwcomtypes.hmwcomtypes_i.cmwcomtypes_p.creadme.txtrequiredMCRProducts.txtunresolvedSymbols.txt
メモ
生成されたアドインには MATLAB Runtime またはインストーラーが含まれていません。
buildResultsオブジェクトを使用してインストーラーを作成するには、compiler.package.installerを参照してください。
Excel でのアドインのインストール
Microsoft Excel を開きます。
[ファイル] タブで、[オプション]、[アドイン] カテゴリの順にクリックします。
[管理] ボックスで [Excel アドイン]、[設定] の順にクリックします。[アドイン] ダイアログ ボックスが表示されます。
[参照] をクリックし、アドイン
xlmagic.xlaを見つけます。自分のユーザー名と関連付けられている
Addinsフォルダーにxlmagic.xlaをコピーするように求められます。アドインをコピーするか、直接実行するかを選択できます。この例では [はい] を選択します。アドインがコピーされ、ワークブックに追加されます。[OK] をクリックして、[アドイン] ダイアログ ボックスを閉じます。
アドインのテスト
Excel ワークブックで 3 行 3 列のセルのグリッドを選択します。
数式バーで次のカスタム関数を入力します。
数式バーで「=mymagic(3)
my」と入力すると、Excel でmymagicがカスタム関数として表示されます。キーボードで Ctrl+Shift+Enter キーを押します。
選択されたセルに、次の出力が表示されます。
8 1 6 3 5 7 4 9 2
その他の例については、
にあるファイルmatlabroot\toolbox\matlabxl\examples\xlmagicxlmagic.xlsを開いてください。このスプレッドシートには、コンパイルした MATLAB 関数を使用するさまざまな方法を示す 3 つのカスタム VBA マクロがあります。
アドインの配布
アドインをエンド ユーザーに配布するには、アドインの配布および Microsoft Excel への統合を参照してください。