Main Content

グラフィカル関数を含むマクロの作成

グラフィカル出力を表示するマクロの作成の例では、グラフィカル出力を表示する関数を使用するアドインおよびマクロを作成する方法を説明します。ダイアログ ボックスを表示する MATLAB 関数を使用する例については、エラー メッセージを表示するマクロの作成を参照してください。

グラフィカル出力を表示するマクロの作成

グラフィカル出力を表示する関数を使用するアドインおよびマクロを作成します。

グラフィカル出力をもつ関数を使用するアドインの作成

MATLAB® Compiler™ を使用して、COM コンポーネントとアドインをビルドします。

  1. グラフィカル出力をもつ MATLAB 関数を作成します。この例では、mysurf.m という名前の関数を作成します。

    function mysurf
    surf(peaks);

  2. ライブラリ コンパイラ アプリまたは compiler.build.excelAddIn を使用して、関数 mysurf を使用する Excel® アドインをビルドします。

    たとえば、compiler.build.excelAddIn を使用している場合は、以下を入力します。

    buildResults = compiler.build.excelAddIn('mysurf.m', ...
    'GenerateVisualBasicFile','on');

    詳細については、MATLAB からの Excel アドインの作成の手順を参照してください。

Function Wizard を使用したグラフィカル マクロの作成

メモ

Function Wizard のワークフローの詳細については、Function Wizard のインストールと使用を参照してください。

Function Wizard を使用して、Microsoft® Excel スプレッドシート上でグラフィカル関数を実行するマクロを作成します。

  1. Function Wizard をインストールして、Microsoft Excel から起動します。詳細については、Function Wizard のインストールを参照してください。

  2. [Add] をクリックします。[Functions for Class mysurfClass] ボックスから関数 [mysurf] を選択します。

  3. [Add] をクリックします。[Function Properties] ダイアログ ボックスが表示されます。

  4. [Done] をクリックします。mysurf.m には入力も出力もないため、[Properties] を指定する必要はありません。

    [Active Functions] リストで mysurf が選択された状態で [Function Wizard Control Panel] が表示されます。

  5. [Function Wizard Control Panel] の [Execute Functions] エリアで、[Execute] をクリックします。mysurf のグラフィカル出力が別のウィンドウで表示されます。

  6. 生成された Figure を操作してみます。たとえば、Figure ウィンドウをドラッグしたり、ツール バーを使用してカラー バーと凡例を挿入したりします。

マクロの保存と実行

マクロが使用可能であることを確認したら、マクロを保存して適宜実行します。

  1. [Function Wizard Control Panel] で [Create Macros] エリアの [Macro Name] フィールドに mysurf を入力してマクロにラベルを付けます。

  2. 必要に応じて、[Store Macro In] フィールドの既定値を変更します。

  3. [Create Macro] をクリックします。

  4. マクロ実行の詳細については、Excel でのマクロの実行を参照してください。マクロを実行すると、上記の Surf Peaks イメージと同様の出力が表示されます。

エラー メッセージを表示するマクロの作成

エラー メッセージ ダイアログ ボックスを表示する関数を使用するアドインおよびマクロを作成します。

ダイアログ ボックスをもつ関数を使用するアドインの作成

MATLAB Compiler を使用して、COM コンポーネントとアドインをビルドします。

  1. ダイアログ ボックスを表示する MATLAB 関数を作成します。この例では、myerror.m という名前の関数を作成します。

    function out = myerror(in)
    if (in < 0)
        error('Negative input not expected');
    else
        out = sqrt(in);
    end
  2. ライブラリ コンパイラ アプリまたは compiler.build.excelAddIn を使用して、関数 myerror を使用する Excel アドインをビルドします。

    たとえば、compiler.build.excelAddIn を使用している場合は、以下を入力します。

    buildResults = compiler.build.excelAddIn('myerror.m', ...
    'GenerateVisualBasicFile','on');

    詳細については、MATLAB からの Excel アドインの作成の手順を参照してください。

Function Wizard を使用したマクロの作成

Function Wizard を使用して、関数の引数を設定します。

  1. Function Wizard をインストールして、Microsoft Excel から起動します。詳細については、Function Wizard のインストールを参照してください。

  2. [Add] をクリックします。[Functions for Class myerrorClass] ボックスから関数 myerror を選択します。

  3. [Add] をクリックします。[Function Properties] ダイアログ ボックスが表示されます。

  4. 入力値 -1 をもつ引数を myerror に追加します。

    1. [Inputs] タブで、[Set Input Data] をクリックします。[Input Data for in] ダイアログ ボックスが表示されます。

    2. [Value] を選択し -1 を入力します。

    3. [Done] をクリックします。

  5. myerror の出力を定義します。この例では、スプレッドシートの任意の空のセルを選択します。

    1. [Outputs] タブに移動し、[Set Output Data] をクリックします。[Output Data for out] ダイアログ ボックスが表示されます。

    2. [Range] を選択し、スプレッドシートのセルの値、たとえば C1 を選択します。[Range] フィールドに Sheet1!$C$1 が自動的に入力されます。

    3. [Done] をクリックします。[Active Functions] リストで myerror が選択された状態で [Function Wizard Control Panel] が表示されます。

      ヒント

      [Active Functions] リストに myerror 以外の関数が含まれていても、myerror のテストに使用しない場合は、それらを選択して [Deactivate] をクリックして非アクティブにします。

  6. [Execute] をクリックします。次のダイアログ ボックスが表示されます。

マクロの保存と実行

オンデマンドでエラー メッセージを表示するマクロを作成します。

  1. [Function Wizard Control Panel] で [Create Macros] エリアの [Macro Name] フィールドに myerror を入力してマクロにラベルを付けます。

  2. 必要に応じて、[Store Macro In] フィールドの既定値を変更します。

  3. [Create Macro] をクリックします。

  4. マクロ実行の詳細については、Excel でのマクロの実行を参照してください。