【原因】
Engineプログラムは、それを作成したバージョンのMATLABが起動すると動作します。Engineプログラム起動時のMATLABバージョンは次の条件により決定されます。
1. システム環境変数Pathの優先順位
2. COMオートメーションサーバに登録されているMATLABのバージョン
【解決策】
Engineプログラム起動時のMATLABバージョンを変更するには、次の作業を行います。
(1) システム環境変数Pathの順序を、起動したいバージョンのMATLABパスが他のMATLABパスよりも先頭にくるように修正します。
例えば、MATLAB 7.2 (R2006a)を起動させたい場合、以下のようにPathの値を修正します。
<修正前>
%systemroot%\system32;%systemroot%;c:\matlab6p5\bin\win32;c:\program files\matlab\r2006a\bin\win32
<修正後>
%systemroot%\system32;%systemroot%;c:\program files\matlab\r2006a\bin\win32;c:\matlab6p5\bin\win32
(2) 管理者(Administrator)権限を持つユーザでログインします。起動させたいMATLABのショートカットアイコンのコピーを作成し、それを右クリックして[プロパティ]を選択します。[リンク先]の最後に半角スペースを挿入し、続けて“/regserver”と入力して[OK]ボタンを押します。
<修正前>
"C:\Program Files\MATLAB\R2006a\bin\win32\MATLAB.exe"
<修正後>
"C:\Program Files\MATLAB\R2006a\bin\win32\MATLAB.exe" /regserver
上記ショートカットアイコンをダブルクリックすると、MATLABがコマンドウィンドウのみの状態で起動します。
このウィンドウを閉じれば、本バージョンのMATLABがCOMオートメーションサーバに登録されます。
上記設定作業は1度行えば、次回ログイン以降も有効となります。起動MATLABバージョンを変更したい場合は、再度同じ手順を実行してください。