A. Automation

外部から接続して OOo を操作するオートメーション。OOo では socket または pipe を通じた接続を利用できます。
外部からの接続を利用できるようにするにはデフォルトの設定を変更しておくか、又は起動時にオプションを与えます。

UNO-URL

接続の方法を UNO URL で指定します。この URL は以下のような形式をしており四つの部分に分かれています。

uno:connection-type,parameters;protocol-name,parameters;object-name
1   2                          3                         4
  1. プロトコルです。uno を指定します
  2. 接続方法および引数を指定します。接続方法は socket または pipe です。引数については下記参照。
  3. プロトコル名を指定します。普通は urp (UNO Removet Protocol) を指定します。
  4. 取得するオブジェクト名を指定します。

起動パラメータ

OOo を接続可能状態で起動するには -accept オプションを指定します。

>soffice "-accept=socket,host=localhost,port=2002;urp;StarOffice.ServiceManager"
#
>soffice "-accept=pipe,name=pypipe;urp;StarOffice.ServiceManager"
  • accept= 以降の指定は UNO-URL のプロトコルを省いた部分と同じになります。このパラメータ指定と接続時の指定が同じでなければ接続できません。

socket 接続

TCP/IP ポートを通じて接続します。

  • 接続の形式: socket
  • 引数: host、port、tcpNodelay
    • host: ホスト名を指定します。
    • port: ポート名を指定します。
    • tcpNoDelay: UNO 接続の場合は 1 を指定する。デフォルトの 0 を指定するとコールの時に 200 ms のディレイが生じることがあります。

uno:socket,host=localhost,port=2002,tcpNoDelay;urp;StarOffice.ComponentContext

別の PC で稼動している OOoインスタンスに接続することもできます。

pipe 接続

名前のついたパイプを介した接続です。

  • 接続の形式: pipe
  • 引数: name
    • name: OOo 起動時のオプションで指定したパイプ名を指定します。

uno:pipe,name=PipeName;urp;StarOffice.ComponentContext

同じ PC 上の OOoインスタンスにのみ接続できます。socket 接続よりも一般的には早く動作します。