Съдържание

# Функция CreateUnoServiceWithArguments

Създава екземпляр на UNO услуга с ProcessServiceManager, включително допълнителни аргументи по желание.

### Синтаксис:

        CreateUnoServiceWithArguments(ServiceName As String, Arguments() As Variant) As Object

UNO услугите, които могат да се използват с функцията CreateUnoServiceWithArguments, се разпознават по имената на методите, които следват схемата createInstanceWith.. или createWith...

### Тип на резултата:

Object

За списък на наличните услуги посетете справочната страница com::sun::star Module.

### Параметри:

Име | Тип | Описание
--- | --- | ---
ServiceName | String | The UNO service name to be created.
Arguments | Variant | One to many arguments that specify the instance of the service. Arguments are stored as a one dimensional array, according to their positions in the constructor method definition.

### Пример:

The com.sun.star.ui.dialogs.FilePicker example below displays a built-in LibreOffice Save As dialog with two extra controls: a listbox and a checkbox.

        Sub FileSaveAsDialog()
           td = com.sun.star.ui.dialogs.TemplateDescription
           options = td.FILESAVE_AUTOEXTENSION_TEMPLATE
           dlg = CreateUnoServiceWithArguments( _
              "com.sun.star.ui.dialogs.FilePicker", _
              Array(options))
           dlg.execute()
        End Sub ' FileSaveAsDialog

Диалозите за файлове – като Отваряне, Записване като, Вмъкване на текст и подобни – са достъпни по два различни начина:

- Като собствени диалози за избиране на файлове на диспечера на прозорци на операционната система.

- Като вградени диалози за избор на файлове на LibreOffice.

Използвайте LibreOffice - PreferencesИнструменти – Настройки - LibreOffice - Общи, за да превключвате между тях.

Услугите на UNO са подробно документирани онлайн в уебсайта api.libreoffice.org. Посетете справочната страница FilePicker Service, за да научите повече за методите, предоставяни от използваната в горния пример услуга.

### Пример:

В следващия код е използвана услугата 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

Методите конструктори CreateWithVersion и createWithVersionAndValidSignature в UNO услугата com.sun.star.security.DocumentDigitalSignatures показват два различни начина за създаване екземпляр на тази услуга с функцията CreateUnoServiceWithArguments.

Теми, свързани с показаната

Функция CreateUnoService

Обекти, функции и услуги на UNO

Използване на функции на Calc в макроси

Моля, подкрепете ни!