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 9
ライブラリ コンパイラ アプリを使用した Excel アドインの作成
ライブラリ コンパイラ アプリを使用して、関数を Excel アドインにパッケージ化します。あるいは、プログラムによる方法で MATLAB コマンド ウィンドウから Excel アドインを作成する場合は、compiler.build.excelAddIn を使用した Excel アドインの作成を参照してください。
ライブラリ コンパイラ アプリを開くには、MATLAB プロンプトで「
libraryCompiler
」と入力します。あるいは、[MATLAB アプリ] タブで、[アプリ] セクションの右端にある矢印をクリックします。[アプリケーションのデプロイ] で、[ライブラリ コンパイラ] をクリックします。
[MATLAB Compiler] プロジェクト ウィンドウの [タイプ] セクションで、[Excel アドイン] を選択します。
ライブラリ コンパイラ アプリのプロジェクト ウィンドウで、デプロイする MATLAB アプリケーションのファイルを指定します。
ツールストリップの [エクスポートする関数] セクションで、
をクリックします。
[ファイルの追加] ウィンドウで、サンプルのフォルダーを参照し、パッケージ化する関数を選択します。[開く] をクリックします。
エクスポートする関数ファイルのリストに関数が追加されます。同じアプリケーションに複数のファイルをパッケージ化するには、この手順を繰り返します。
ツールストリップの [パッケージ化オプション] セクションで次のオプションのいずれかを選択して、生成されるアプリケーションに MATLAB Runtime インストーラーを含めるかどうかを決定します。
ランタイムを Web からダウンロード — MATLAB Runtime をダウンロードしてデプロイされた MATLAB アプリケーションと共にインストールするインストーラーを生成します。インストーラーのファイル名を指定できます。
ランタイムをパッケージに含める — MATLAB Runtime インストーラーを含むアプリケーションを生成します。インストーラーのファイル名を指定できます。
メモ
このオプションを初めて選択したときに、MATLAB Runtime インストーラーをダウンロードするように求めるメッセージが表示されます。
次に、アドインの名前を定義し、アプリケーションにビルドする
.m
ファイルのクラス マッピングを確認します。[ライブラリ名] フィールドに、アセンブリの名前として
mymagic
が自動的に入力されます。この名前をxlmagic
に変更します。同じ名前が、アドインの実装時にも使用されます。mymagic.m
に定義された関数がxlmagicclass
にマッピングされていることを確認します。クラス名を変更するには、クラスをダブルクリックします。
パッケージ化されたアプリケーションとその外観をカスタマイズします。
ライブラリ情報 — デプロイされるアプリケーションに関する編集可能な情報。生成されるインストーラーはこの情報を使用して、インストールされるアプリケーションのメタデータを入力します。インストーラーのカスタマイズを参照してください。
追加インストーラー オプション — 生成されるインストーラーの既定のインストール パスの編集と、カスタム ロゴの選択。インストール パスの変更を参照してください。
ライブラリの実行に必要なファイル — 生成されるアプリケーションを実行するために必要な追加ファイル。これらのファイルは、生成されるアプリケーション インストーラーに含められます。コンパイラ プロジェクトの必須ファイルの管理を参照してください。
エンド ユーザー用にインストールされるファイル — アプリケーションと共にインストールされるファイル。
アプリケーションと共にインストールするファイルの指定を参照してください。
ランタイム追加設定 — 生成される実行可能ファイルを制御するためのプラットフォーム固有のオプション。ランタイム追加設定を参照してください。
アプリケーションのパッケージ化
パッケージ化オプションの選択が終了したら、ライブラリ コンパイラのプロジェクトを保存し、パッケージ化されたアプリケーションを生成します。
[パッケージ化] をクリックします。
[プロジェクトを保存] ダイアログ ボックスで、プロジェクトを保存する場所を指定します。
[パッケージ] ダイアログ ボックスで、[プロセスが完了したら出力フォルダーを開く] が選択されていることを確認します。
パッケージ化プロセスが完了したら、ターゲット フォルダー内の生成された出力を調べます。
3 つのフォルダー
for_redistribution
、for_redistribution_files_only
、およびfor_testing
が生成されます。これらのフォルダーに生成されるファイルの詳細については、MATLAB 関数のパッケージ化後に生成されるファイルを参照してください。
ログ ファイル
PackagingLog.html
にはパッケージ化の結果が含まれています。
compiler.build.excelAddIn を使用した Excel
アドインの作成
ライブラリ コンパイラ アプリの代わりに、プログラムによる方法を使用して Excel アドインを作成することができます。ライブラリ コンパイラ を使用してアドインが既に作成されている場合は、Excel でのアドインのインストールを参照してください。
MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。この例では、
matlabroot
\toolbox\matlabxl\examples\xlmagic にあるファイル
を使用してコンパイルします。mymagic.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.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 でのアドインのインストール
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 への統合を参照してください。
参考
libraryCompiler
| compiler.build.excelAddIn