Fonction CreateUnoValue

Renvoie un objet qui représente une valeur strictement saisie et faisant référence au système de type Uno.

Cet objet est automatiquement converti en un Any du type correspondant lorsqu'il est passé à Uno. Le type doit être spécifié par son nom de type Uno complet.

note

L'API LibreOfficeDev utilise fréquemment le type Any. C'est le pendant du type Variant connu dans d'autres environnements. Le type Any contient un type Uno arbitraire et est utilisé dans les interfaces Uno génériques.


Syntaxe :


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

Valeur de retour :

Objet

Paramètres :

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.


Codes d'erreur :

Si CreateUnoValue ne peut pas convertir la valeur dans le type Uno spécifié, une erreur se produit. Le service com.sun.star.script.Converter est responsable de la conversion.

Exemple :


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

Exemple :

Cette fonction est destinée à être utilisée dans les situations où le mécanisme de conversion de type Basic vers Uno par défaut est insuffisant. Cela se produit en appelant des méthodes API génériques basées sur Any, telles que com.sun.star. beans.XPropertySet.setPropertyValue() ou com.sun.star .container.XNameContainer.insertByName(). CreateUnoValue() définit un objet de valeur pour le type Uno inconnu.

Cet exemple utilise com.sun.star.beans.XPropertySet.addProperty() pour créer une propriété de document dont les valeurs par défaut nécessitent l'utilisation de CreateUnoValue() :


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

Vous pouvez également utiliser cette fonction pour transmettre des valeurs non Any, mais cela n'est pas recommandé. Si Basic connaît déjà le type cible, l'utilisation de la fonction CreateUnoValue() n'entraînera que des opérations de conversion supplémentaires qui ralentiront l'exécution Basic.