Funkcja CreateUnoValue

Zwraca obiekt odpowiadający dokładnie wprowadzonej wartości odnoszącej się do systemu typu Uno.

Po przekazaniu do UNO obiekt jest automatycznie konwertowany do odpowiadającego mu typu Any. Typ musi zostać określony przez w pełni kwalifikowaną nazwę typu UNO.

note

Interfejs API LibreOfficeDev często używa typu Any. Jest odpowiednikiem typu Variant znanego z innych środowisk. Typ Any zawiera jeden dowolny typ UNO i jest używany w ogólnych interfejsach UNO.


Składnia:


  CreateUnoValue(Type As String, Value As Object) As Object 

Zwracana wartość:

Obiekt

Parametry:

Name

Type

Description

Type

String

The fully qualified Uno type name. Supported data types are void, char, boolean, byte, short, unsigned short, long, unsigned long, hyper, unsigned hyper, float, double, string, type, and any. Names are case sensitive and may be preceded by square brackets to indicate an array.

Value

Object

A strictly typed value.


Kody błędów:

Jeśli CreateUnoValue nie może przekonwertować wartości na określony typ UNO, wystąpi błąd. Za konwersję odpowiada usługa com.sun.star.script.Converter.

Przykład:


   byte_sequence_object = CreateUnoValue("[]byte", Array(85, 3, 27))

Przykład:

Ta funkcja jest przeznaczona do użycia w sytuacjach, gdy domyślny mechanizm konwersji typu Basic na UNO jest niewystarczający. Dzieje się tak, wywołując ogólne metody API oparte na Any, takie jak com.sun.star.beans.XPropertySet.setPropertyValue() lub com.sun.star.container.XNameContainer.insertByName(). CreateUnoValue() ustawia obiekt wartości dla nieznanego typu UNO.

W tym przykładzie użyto com.sun.star.beans.XPropertySet.addProperty() metody tworzenia właściwości dokumentu, której wartości domyślne wymagają użycia CreateUnoValue():


  With ThisComponent.DocumentProperties.getUserDefinedProperties()
      .addProperty("FOO", com.sun.star.beans.PropertyAttribute.REMOVEABLE, CreateUnoValue("double", 23))
  End With	

Możesz także użyć tej funkcji do przekazywania wartości innych niż Any, ale nie jest to zalecane. Jeśli Basic zna już typ docelowy, użycie funkcji CreateUnoValue() doprowadzi tylko do dodatkowych operacji konwersji, które spowalniają wykonywanie Basic.