Home > コンピュータ > LibreOffice > マクロ > ドキュメント > UNOオブジェクト、機能とサービス > CreateUnoServiceWithArguments関数

CreateUnoServiceWithArguments関数

新規作成日 2025-08-16
最終更新日

原文「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 モジュールのリファレンス ページを参照してください:

例:

以下の 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 つの異なる方法を示します。

関連項目

このエントリーをはてなブックマークに追加