Main Content

COM サーバーとしての MATLAB の登録

メモ

MATLAB® を COM オートメーション サーバーとして呼び出すアプリケーションを作成する代わりに、.NET 用の MATLAB エンジン API の使用を検討してください。詳細については、.NET からの MATLAB の呼び出しを参照してください。

MATLAB を登録するタイミング

MATLAB を COM サーバーとして使用するには、アプリケーションを Windows® のレジストリに登録しなければなりません。MATLAB の新バージョンをインストールすると、MATLAB はすべてのユーザーについて自動的にこのバージョンを COM サーバーとして登録します。登録されている MATLAB のバージョンを確認するには、MATLAB を起動してから次を入力します。

comserver('query')

MATLAB は、登録された MATLAB のバージョンへのインストール パスを表示します。この情報は構成に固有です。以下に例を示します。

         User: 'C:\Program Files\MATLAB\R2020a\bin\win64\MATLAB.exe'
Administrator: 'C:\Program Files\MATLAB\R2019b\bin\win64\MATLAB.exe'

ローカル ユーザーのアカウントおよび管理者権限と、それらの値に基づいて Windows が COM サーバーを選択する方法については、Microsoft® Windows のドキュメンテーションを参照してください。

登録されている MATLAB のバージョンが望ましくないバージョンである場合は、以下の手法のいずれかを選択します。

現在のユーザー向けの MATLAB の登録

管理者権限をもたない場合、または管理者権限なしで MATLAB を起動した場合でも、MATLAB を COM サーバーとして登録できます。

登録するバージョンの MATLAB を起動し、comserver コマンドを使用します。

comserver('register')

このコマンドは、自分のユーザー アカウントについてのみ MATLAB を登録します。管理者権限なしで COM アプリケーションを起動すると、そのアプリケーションはこの MATLAB のバージョンと通信します。

管理者によって登録された MATLAB のバージョンを使用するには、自分のユーザー アカウントに登録された MATLAB を起動し、comserver を使用して自分のバージョンを登録解除します。

comserver('unregister')
comserver('query')
         User: ''
Administrator: 'C:\Program Files\MATLAB\R2019b\bin\win64\MATLAB.exe'

これで、アプリケーションは MATLAB R2019b と通信するようになります。

メモ

関数 comserver は、MATLAB R2020a 以降で使用できます。

すべてのユーザー向けに MATLAB を登録

すべてのユーザー向けに MATLAB を COM サーバーとして登録するには、管理者権限が必要です。ユーザー アカウント制御 (UAC) 設定によっては、Windows のコマンド プロンプトまたは MATLAB アイコンを右クリックし、[管理者として実行] を選択する必要があります。このオプションが利用できない場合、システム管理者にお問い合わせください。

システムに複数バージョンの MATLAB をインストールしている場合、1 つのバージョンのみがすべてのユーザーの既定として登録されます。このバージョンのMATLAB は、異なるバージョンの MATLAB をインストールするか登録するまで、登録されたままになります。

登録するバージョンの MATLAB を起動し、comserver コマンドを使用します。

comserver('register','User','all')

メモ

comserver は MATLAB R2020a 以降で使用できます。前のバージョンの MATLAB を登録するには、関数 regmatlabserver を呼び出します。

オペレーティング システムのプロンプトからの登録

Windows システム プロンプトから MATLAB を COM サーバーとして登録する場合、まず [管理者として実行] オプションを使用して Windows のコマンド プロンプトを開きます。

次のコマンドを使用して、登録する MATLAB バージョンの実行可能ファイルが格納されているフォルダーに移動します。

cd matlabroot\bin\win64

ここで、matlabroot は、MATLAB インストール フォルダーへの絶対パスです。MATLAB 内で matlabroot を呼び出して、値を取得します。このフォルダーを使用しない場合、matlab コマンドはシステム パス上にある MATLAB の最初のインスタンスを起動します。

MATLAB を登録するには、次を行います。

matlab -batch "comserver('register','User', 'all')"

MATLAB に最小化されたコマンド ウィンドウが表示されます。このウィンドウを開き、MATLAB を終了します。

メモ

comserver は MATLAB R2020a 以降で使用できます。前のバージョンの MATLAB を登録するには、matlab-regserver オプションを使用してください。

COM サーバーとしての MATLAB の登録解除

MATLAB を登録解除する方法とそのタイミングの詳細については、comserver を参照してください。

参考

| |

関連するトピック