Função CreateUnoValue

Retorna um objeto que representa um valor fortemente tipado referente ao sistema de tipo Uno.

Este objeto será automaticamente convertido para um Any do tipo correspondente quando for passado para Uno. O tipo deve ser especificado pelo seu nome de tipo Uno totalmente qualificado.

note

O API do LibreOfficeDev frequentemente usa o tipo Any. Ele é a réplica do tipo Variant conhecido de outros ambientes. O tipo Any possui um tipo Uno arbitrário e é usado em interfaces Uno genéricas.


Sintaxe:


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

Tipo de retorno:

Objeto

Parâmetros:

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.


Códigos de erro:

Se CreateUnoValue não puder converter o valor para o tipo Uno especificado, ocorrerá um erro. O serviço com.sun.star.script.Converter é responsável pela conversão.

Exemplo:


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

Exemplo:

Esta função é destinada a ser utilizada nas situações onde o mecanismo de conversão de tipo Basic para Python for insuficiente. Isso ocorre ao chamar os métodos API genéricas baseados em Any, tais como com.sun.star.beans.XPropertySet.setPropertyValue() ou com.sun.star.container.XNameContainer.insertByName(). CreateUnoValue() define um objeto de tipo Uno desconhecido.

Esse exemplo usa o método com.sun.star.beans.XPropertySet.addProperty() para criar uma propriedade de documento cujos valores padrão requerem uso de CreateUnoValue():


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

Você também pode usar esta função para passar valores diferentes de Any, mas isso não é recomendado. Se o BASIC já souber o tipo de destino, o uso da função CreateUnoValue() resultará apenas em operações de conversão adicionais, que tornarão a execução do BASIC mais lenta.