原文「CreateUnoServiceWithArguments Function」の和訳。LibreOffice 25.2ヘルプより
原文取得日 2025-08-16
構文:
CreateUnoServiceWithArguments(ServiceName As String, Arguments() As Variant) As Object
CreateUnoServiceWithArguments 関数で使用できる UNO サービスは、createInstanceWith.. または createWith.. 命名パターンに従うメソッド名で識別できます。
パラメータ:
- サービス名:作成されるUno サービス名。
- 引数:サービスのインスタンスを指定する 1 対多の引数。引数は、コンストラクター メソッド定義内の位置に従って、1 次元配列として格納されます。
戻り値:
指定された UNO サービス名のインスタンス、それ以外の場合は Null 値。
例:
以下の com.sun.star.ui.dialogs.FilePicker の例では、2 つの追加コントロールを含む [名前を付けて保存] ダイアログが表示されています:リストボックスとチェックボックス。
Sub FileSaveAsDialog()
td = com.sun.star.ui.dialogs.TemplateDescription
options = td.FILESAVE_AUTOEXTENSION_TEMPLATE
dlg = CreateUnoServiceWithArguments( _
"com.sun.star.ui.dialogs.FilePicker", _
Array(options))
End Sub ' FileSaveAsDialog
UNO サービスについては、api.libreoffice.org Web サイトに広範なオンライン ドキュメントが用意されています。上記の例で使用されているサービスによって提供されるメソッドの詳細については、FilePicker サービスのリファレンス ページを参照してください。
例:
次のコードは、現在の文書に署名するために、サービスcom.sun.star.security.DocumentDigitalSignaturesを使用します:
Sub SignCurrentDocDialog
Dim pv(0) as new com.sun.star.beans.PropertyValue
pv(0).Name = "StorageFormat"
pv(0).Value = "ZipFormat"
mode = com.sun.star.embed.ElementModes
sf = CreateUnoService("com.sun.star.embed.StorageFactory")
storage = sf.createInstanceWithArguments(Array(ThisComponent.URL, mode.WRITE, pv))
dds = CreateUnoServiceWithArguments( _
"com.sun.star.security.DocumentDigitalSignatures", _
Array("1.2", True))
dds.signDocumentContent(storage, Null)
End Sub ' SignCurrentDocDialog
com.sun.star.security.DocumentDigitalSignatures UNO サービスの CreateWithVersion および createWithVersionAndValidSignature コンストラクタ メソッドは、CreateUnoServiceWithArguments 関数を使用してこのサービスをインスタンス化する 2 つの異なる方法を示します。
関連項目
