アドインおよび COM コンポーネントと Microsoft Excel との統合

Microsoft Excel エンド ユーザーの主なタスク

タスク参照
MATLAB® プログラマから必要なファイルをすべて受け取ったことを確認。配布に必要なファイル
アドイン ファイルおよび関連コンポーネントのレジストリ権限を確認。アドインと COM コンポーネントの登録
生成された関数を実行し、マクロを作成。関数の実行とマクロの作成
MATLAB Runtime をターゲット システムにインストールし、システム パスを更新。MATLAB Runtime
Excel アドインを使用。アドインのインストールと配布

配布に必要なファイル

開始する前に、以下のファイルにアクセスできることを確認します。

  • MCR インストーラー。すべての MATLAB Runtime インストーラーの場所については、mcrinstaller コマンドを実行します。

  • .xla ファイル (アドイン)

  • .bas ファイル (生成された VBA コード)

  • .dll ファイル

  • readme.txt

アドインと COM コンポーネントの登録

メモ

COM コンポーネントは MATLAB Compiler™MATLAB Compiler SDK™ の両方で使用されています。そのため、COM コンポーネントおよびアドインのビルドとパッケージ化に関する手順の一部は、製品間で共有できます。

COM コンポーネントを作成すると、ログイン権限に基づいて HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER のいずれかに登録されます。

Microsoft® またはインストール環境によって課せられるセキュリティ標準のために実行時の権限を変更する必要がある場合、COM コンポーネントまたはアドインを配布する前に以下のいずれかを行うことができます。

  • COM コンポーネントまたはアドインを実行する前に administrator としてログオン。

  • COM コンポーネントまたはアドインを実行する前に、次の mwregsvr コマンドを実行。

    mwregsvr [/u] [/s] [/useronly] project_name.dll 
    パラメーターは次のとおりです。

    • /u を指定すると、任意のユーザーがこのサーバーの COM コンポーネントまたはアドインの登録を取り消すことができる

    • /s はメッセージを表示せずにこのコマンドを実行する。これは、サイレント インストールで役に立ちます

    • /useronly を指定すると、このサーバーで COM コンポーネントまたはアドインの実行が許容されるのは、現在ログインしているユーザーのみになる

注意

COM コンポーネントが USER ハイブに登録されている場合、UAC ([ユーザー アカウント制御]) が有効になっているシステムで administrator として Windows Vista™ または Windows® 7 を実行しているユーザーに、このコンポーネントは表示されません。

コンポーネントを Windows 7 または Windows Vista の USER ハイブに登録した場合、管理者特権 (administrator) で実行すると COM コンポーネントの読み込みに失敗する可能性があります。

これが発生した場合、以下を行ってコンポーネントを LOCAL MACHINE ハイブに再登録します。

  1. 次のコマンドでコンポーネントの登録を解除します。

    mwregsvr /u /useronly my_dll.dll
    

  2. 次のコマンドでコンポーネントを LOCAL MACHINE ハイブに再登録します。

    mwregsvr my_dll.dll

Function Wizard を使用した COM コンポーネントの Microsoft Excel への統合

アドインと COM コンポーネントが作成されたら、Function Wizard を使用して COM コンポーネントを Microsoft Excel® に統合します。

この章の魔方陣の例を使用した関数の実行方法とマクロの作成方法の詳細な例については、関数の実行とマクロの作成を参照してください。

MATLAB Runtime

"MATLAB Runtime" は、MATLAB で使用されるものと同じ共有ライブラリで構成される実行エンジンであり、MATLAB のインストールされていないシステムにおいて MATLAB ファイルの実行を可能にします。

MATLAB Compiler または MATLAB Compiler SDK を使用して作成されたアプリケーションの配布を簡略化するために、MATLAB Runtime は Web からダウンロード可能になっています。MATLAB Runtime 製品ページから MATLAB Runtime をダウンロードします。

MATLAB Runtime インストーラーは以下を実行します。

  1. MATLAB Runtime をインストール。

  2. インストーラーが実行されるフォルダーにコンポーネント アセンブリをインストール。

  3. MATLAB Runtime のインストールの一環として、MWArray アセンブリを Global Assembly Cache (GAC) にコピー。

MATLAB Runtime の必要条件

  1. MATLAB Runtime インストーラーを実行するには、管理者権限が必要です。

  2. ターゲット コンピューター上でアプリケーションを実行する MATLAB Runtime のバージョンには、配布コードをビルドした MATLAB Compiler または MATLAB Compiler SDK のバージョンとの互換性がなければなりません。

  3. MATLAB インストール ディレクトリには MATLAB Runtime をインストールしないでください。

  4. MATLAB Runtime インストーラーには約 2 GB のディスク容量が必要です。

インストーラーへの MATLAB Runtime インストーラーの追加

この例では、いずれかのコンパイラ アプリを使用して、生成されるインストーラーに MATLAB Runtime を含める方法を説明します。生成されるインストーラーには、MATLAB Compiler または MATLAB Compiler SDK でビルドされたスタンドアロン アプリケーションや共有ライブラリの実行に必要なすべてのファイルが含まれ、それらはターゲット システムに適切に配置されます。

  1. コンパイラ インターフェイスの [パッケージ化オプション] セクションで、以下の一方または両方のオプションを選択します。

    • ランタイムを Web からダウンロード — このオプションは、MathWorks の Web サイトから MATLAB Runtime インストーラーを呼び出すインストーラーをビルドします。

    • ランタイムをパッケージに含める — このオプションは、生成されるインストーラーに MATLAB Runtime インストーラーを含めます。

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

  3. インストーラーを必要に応じて配布します。

MATLAB Runtime のインストール

この例では、MATLAB Runtime をシステムにインストールする方法を説明します。

コンパイルされたアーティファクトを含むインストーラーが提供された場合、MATLAB Runtime はアプリケーションまたは共有ライブラリと共にインストールされます。生のバイナリ ファイルのみが提供された場合は、MATLAB Runtime インストーラーを Web からダウンロードし、インストーラーを実行します。

メモ

Windows 以外のプラットフォームで実行している場合は、ターゲット マシン上でパスの変更を行います。パスを設定すると、アプリケーションが MATLAB Runtime を検索できるようになります。パスの設定の詳細については、MATLAB Runtime Path Settings for Run-Time Deployment (MATLAB Compiler SDK)を参照してください。

Windows のパスは自動的に設定されます。Linux®Mac では、実行スクリプトを使用してパスを設定できます。特に、Linux、Mac などの UNIX® 系によるすべての配布タスクの実行の詳細については、MATLAB Runtime のパス設定の問題を参照してください。

MWArray API の検索場所

MATLAB Runtime には、アプリケーションと MATLAB Runtime 間のデータ交換用 API を含む MWArray.dll も用意されています。この API のドキュメンテーションは、インストールの Help フォルダーにあります。

MATLAB Runtime インストーラーを実行しているターゲット マシンの mcrRoot\toolbox\dotnetbuilder\bin\architecture\framework_versionMWArray アセンブリが配置されます。

MWArray.dll を含む MATLAB Runtime のサンプル ディレクトリ構造

アドインのインストールと配布

Microsoft Excel アドインは、MATLAB Compiler によって distrib フォルダーに直接書き込まれるため、配布担当者とエンド ユーザーはFunction Wizard のインストールで Function Wizard をインストールする場合と同様の方法でインストールします。

Excel スプレッドシートからのアドイン コードの呼び出し

実行可能コードを Excel スプレッドシートのセルから実行するには、メソッド呼び出しでアドイン名を呼び出します。たとえば、mymagic.m という MATLAB コードまたは mymagic.fig という Figure を配布した場合、スプレッドシートのセルに以下を入力してそのコードを呼び出します。

=mymagic()

ヒント

メソッド呼び出しがすぐに評価されない場合、CtrlShift および Enter キーを同時に押します。