ドキュメンテーション

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

actxserver

COM サーバーを作成

構文

h = actxserver('progid')
h = actxserver('progid','machine','machineName')
h = actxserver('progid','interface','interfaceName')
h = actxserver('progid','machine','machineName','interface','interfaceName')
h = actxserver('progid',machine)

説明

h = actxserver('progid') は、ローカル OLE オートメーション サーバーを作成します。ここで、progid は、OLE 準拠の COM サーバーのプログラム上の識別子で、h は、サーバーの既定のインターフェイスのハンドルです。

コントロールまたはサーバーのベンダーのドキュメンテーションから progid を取得します。MATLAB® ソフトウェアの progid 値については、「プログラム識別子」を参照してください。

h = actxserver('progid','machine','machineName') は、OLE オートメーション サーバーをリモート マシンに作成します。ここで、machineName は、サーバーを起動するマシンの名前を指定する文字列です。

h = actxserver('progid','interface','interfaceName') は、カスタム インターフェイス サーバーを作成します。ここで、interfaceName は、COM オブジェクトのインターフェイス名を指定する文字列です。interfaceName の値を以下に示します。

  • IUnknown — IUnknown インターフェイスを使用します。

  • カスタム インターフェイス名

interfaceName 値を使用するには、インターフェイスの名前を認識して、サーバー ベンダーのドキュメンテーションを参照する必要があります。カスタム COM サーバーとインターフェイスの詳細は、「COM サーバーのタイプ」を参照してください。

    メモ:    MATLAB COM インターフェイスは、オプションのパラメーターをもつ関数の呼び出しをサポートしていません。

h = actxserver('progid','machine','machineName','interface','interfaceName') は、カスタム インターフェイス サーバーをリモート マシンで作成します。

以下の構文は、廃止予定ですが、旧式ではありません。これらの構文は参照用です。上記の構文を推奨します。

h = actxserver('progid',machine) は、引数 machine により指定されるリモート システムで実行する COM サーバーを作成します。これは、IP アドレスまたは DNS 名です。この構文は、Distributed Component Object Model (詳細は、「DCOM サーバーとしての MATLAB アプリケーションの使用」を参照) をサポートする環境でのみ使用してください。

Microsoft Excel ワークブックの例

この例は、OLE オートメーション サーバー、Microsoft Excel® Version 9.0 を作成し、アプリケーションのワークブックを操作します。

Microsoft® Excel を実行する COM サーバーを作成します。

e = actxserver ('Excel.Application')
e =     
    COM.Excel.application

Excel フレーム ウィンドウを表示します。

e.Visible = 1;

Excel オブジェクト e に対して get メソッドを使用して、アプリケーションのすべてのプロパティをリストします。

e.get
        Application: [1x1
Interface.Microsoft_Excel_9.0_Object_Library._Application]
            Creator: 'xlCreatorCode'
                   .
                   .
                   .
          Workbooks: [1x1 
Interface.Microsoft_Excel_9.0_Object_Library.Workbooks]
                   .
                   .
                   .
            Caption: 'Microsoft Excel - Book1'
    CellDragAndDrop: 0
   ClipboardFormats: {3x1 cell}
                   .
                   .
                   .
             Cursor: 'xlNorthwestArrow'
                   .
                   .
                   .

インターフェイス eWorkBooks を作成します。

eWorkbooks = e.Workbooks
eWorkbooks =
   Interface.Microsoft_Excel_9.0_Object_Library.Workbooks

そのインターフェイスのすべてのメソッドをリストします。

eWorkbooks.invoke
       Add: 'handle Add(handle, [Optional]Variant)'
     Close: 'void Close(handle)'
      Item: 'handle Item(handle, Variant)'
      Open: 'handle Open(handle, string, [Optional]Variant)'
  OpenText: 'void OpenText(handle, string, [Optional]Variant)'
          .
          .
          .

新しいワークブック w を追加し、新しいインターフェイスも作成します。

w = eWorkbooks.Add
w =
   Interface.Microsoft_Excel_9.0_Object_Library._Workbook

Excel を終了し、そのオブジェクトを削除します。

e.Quit;
e.delete;

詳細

すべて展開する

ヒント

Dynamic Link Library (DLL) で実装されるコンポーネントでは、actxserver は、in-process サーバーを作成します。実行可能ファイル (EXE) として実装されるコンポーネントでは、actxserver は、out-of-process サーバーを作成します。out-of-process サーバーは、クライアント システム、または DCOM をサポートするネットワークの任意のその他のサーバーで作成できます。

コントロールが任意のカスタム インターフェイスを実装する場合、関数 interfaces を使用してこれらをリストし、関数 invoke を使用して選択したインターフェイスのハンドルを取得してください。

COM サーバーのイベントを登録できます。

COM 関数は、Microsoft Windows® システムでのみ使用可能です。

この情報は役に立ちましたか?