Contenu

# ScriptForge.Service Basic

Le service ScriptForge.Basic propose une collection de méthodes LibreOffice Basic à exécuter dans un contexte Python. Les méthodes de service Basic reproduisent la syntaxe et le comportement exacts des fonctions intégrées Basic.

Exemple typique

       bas.MsgBox('Afficher ce texte dans une boîte de message à partir d'un script Python')

Le service ScriptForge.Basic est limité aux scripts Python.

## Invocation du service

Avant d'utiliser le service Basic, importez la méthode CreateScriptService() depuis le module scriptforge :

        from scriptforge import CreateScriptService
        bas = CreateScriptService("Basic")

## Propriétés

Nom | ReadOnly | Type | Description
--- | --- | --- | ---
MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL | Oui | Integer | Valeurs: 0, 1, 5, 4, 3
MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP | Oui | Integer | Valeurs: 48, 64, 32, 16
MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3 | Oui | Integer | Valeurs: 2, 128, 256, 512
IDABORT, IDCANCEL, IDIGNORE, IDNO, IDOK, IDRETRY, IDYES | Oui | Integer | Valeurs : 3, 2, 5, 7, 1, 4, 6 Constantes indiquant le bouton MsgBox sélectionné.
StarDesktop | Oui | Objet UNO | Renvoie l'objet StarDesktop qui représente l'application LibreOffice.
ThisComponent | Oui | Objet UNO | Si le composant actif fait référence à un document LibreOffice, cette méthode retourne l'objet UNO représentant le document. Cette propriété renvoie None lorsque le composant actuel ne correspond pas à un document.
ThisDatabaseDocument | Oui | Objet UNO | Si le script est exécuté à partir d'un document Base ou de l'un de ses sous-composants, cette méthode renvoie le composant principal de l'instance Base. Cette propriété renvoie None sinon.

Liste des méthodes dans le service Basic
CDate CDateFromUnoDateTime CDateToUnoDateTime ConvertFromUrl (*) ConvertToUrl (*) CreateUnoService CreateUnoStruct (*) DateAdd | DateDiff DatePart DateValue Format GetDefaultContext GetGuiType (*) GetPathSeparator (*) GetSystemTicks | GlobalScope.BasicLibraries GlobalScope.DialogLibraries InputBox (*) MsgBox (*) Now RGB Xray

Des alternatives Python existent pour les méthodes marquées par (*).

## CDate

Convertit une expression numérique ou une chaîne en un objet natif Python datetime.datetime.

Cette méthode expose la fonction intégrée Basic CDate aux scripts Python.

### Syntaxe :

svc.CDate(expression: any): obj

### Paramètres :

expression : une expression numérique ou une chaîne représentant une date.

Lorsque vous convertissez une expression de chaîne, la date et l'heure doivent être saisies dans l'un des modèles d'acceptation de date définis pour vos paramètres régionaux (voir LibreOffice - Préférences Outils - Options - Langues et locales - Général) ou au format de date ISO (pour l'instant, seul le format ISO avec tirets, par exemple "2012-12-31" est accepté). Dans les expressions numériques, les valeurs à gauche de la décimale représentent la date, à compter du 31 décembre 1899. Les valeurs à droite de la décimale représentent l'heure.

### Exemple :

        d = bas.CDate(1000.25)
        bas.MsgBox(str(d)) # 1902-09-26 06:00:00
        bas.MsgBox(d.year) # 1902

## CDateFromUnoDateTime

Convertit une représentation date/heure UNO en un objet natif Python datetime.datetime.

### Syntaxe :

svc.CDateFromUnoDateTime(unodate: uno): obj

### Paramètres :

unodate : un objet date/heure UNO de l'un des types suivants : com.sun.star.util.DateTime, com.sun.star.util. Date ou com.sun.star.util.Time

### Exemple :

L'exemple suivant crée un objet com.sun.star.util.DateTime et le convertit en un objet Python datetime.datetime.

        uno_date = bas.CreateUnoStruct('com.sun.star.util.DateTime')
        uno_date.Year = 1983
        uno_date.Month = 2
        uno_date.Day = 23
        new_date = bas.CDateFromUnoDateTime(uno_date)
        bas.MsgBox(str(new_date)) # 1983-02-23 00:00:00

## CDateToUnoDateTime

Convertit une représentation de date en un objet com.sun.star.util.DateTime.

### Syntaxe :

svc.CDateToUnoDateTime(date: obj): uno

### Paramètres :

date : un objet date/heure Python de l'un des types suivants : datetime.datetime, datetime.date, datetime.time , float (time.time) ou time.struct_time.

### Exemple :

        from datetime import datetime
        current_datetime = datetime.now()
        uno_date = bas.CDateToUnoDateTime(current_datetime)
        bas.MsgBox(str(uno_date.Year) + "-" + str(uno_date.Month) + "-" + str(uno_date.Day))

## ConvertFromUrl

Renvoie un nom de fichier de chemin système pour l'URL file : donnée.

### Syntaxe :

svc.ConvertFromUrl(url: str): str

### Paramètres :

url : une URL file : absolu.

### Type de renvoie :

Un nom de fichier de chemin d'accès système.

### Exemple :

        filename = bas.ConvertFromUrl( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt" )
        bas.MsgBox(filename)

La méthode module uno fileUrlToSystemPath() renvoie un chemin système utilisant une syntaxe identique.

        import uno
        filename = uno.fileUrlToSystemPath( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt" )
        bas.MsgBox(filename)

## ConvertToUrl

Renvoie une URL file : pour le chemin système donné.

### Syntaxe :

svc.ConvertToUrl(systempath: str): str

### Paramètres :

systempath : un nom de fichier système sous forme de chaîne.

### Type de renvoie :

Une URL file: URL sous forme de chaîne.

### Exemple :

        url = bas.ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt' )
        bas.MsgBox(url)

La méthode module uno systemPathToFileUrl() renvoie une URL de fichier pour le chemin système donné.

        from uno import systemPathToFileUrl as ConvertToUrl
        filename = ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt' )
        bas.MsgBox(filename)

## CreateUnoService

Crée une instance d'un service Uno à l'aide de ProcessServiceManager.

### Syntaxe :

svc.CreateUnoService(servicename: str): uno

### Paramètres :

servicename : un nom de service complet tel que com.sun.star.ui.dialogs.FilePicker ou com.sun.star.sheet.FunctionAccess.

### Exemple :

        dsk = bas.CreateUnoService('com.sun.star.frame.Desktop')

## CreateUnoStruct

Retourne une instance d'une structure UNO du type spécifié.

### Syntaxe :

svc.CreateUnoStruct(unostructure: str): uno

### Paramètres :

unostructure : nom de structure complet tel que com.sun.star.beans.Property ou com.sun.star.util.DateTime.

### Exemple :

        date_struct = CreateUnoStruct('com.sun.star.util.DateTime')

La méthode module uno createUnoStruct() crée une instance d'un type de structure Uno.

        import uno
        p = uno.createUnoStruct( 'com.sun.star.beans.Property' )
        bas.MsgBox(p)

## DateAdd

Ajoute une date ou un intervalle de temps à une date/heure donnée un certain nombre de fois et renvoie la date résultante.

### Syntaxe :

svc.DateAdd(interval: str, number: num, date: datetime): datetime

### Paramètres :

interval : une expression de chaîne de la table suivante, spécifiant la date ou l'intervalle de temps.

interval (string value) | Explication
--- | ---
yyyy | Année
q | Trimestre
m | Mois
y | Jour de l'année
w | Jour de la semaine
ww | Semaine de l'année
d | Jour
h | Heure
n | Minute
s | Seconde

number : une expression numérique spécifiant la fréquence à laquelle la valeur de l'interval sera ajoutée lorsqu'elle est positive ou soustraite lorsqu'elle est négative.

date : une valeur datetime.datetime donnée, la valeur interval sera ajoutée number fois à cette valeur datetime.datetime.

### Type de renvoie :

Une valeur datetime.datetime.

### Exemple :

        dt = datetime.datetime(2004, 1, 31)
        dt = bas.DateAdd("m", 1, dt)
        print(dt)

## DateDiff

Renvoie le nombre d'intervalles de date ou d'heure entre deux valeurs date/heure données.

### Syntaxe :

svc.DateDiff(interval: str, date1: datetime, date2: datetime, firstdayofweek = 1, firstweekofyear = 1): int

### Paramètres :

interval : une expression de chaîne spécifiant l'intervalle de date, comme détaillé dans la méthode DateAdd ci-dessus.

date1, date2 : les deux valeurs datetime.datetime à comparer.

firstdayofweekt : un paramètre facultatif spécifiant le premier jour de la semaine.

valeur firstdayofweek | Explication
--- | ---
0 | Utiliser la valeur système par défaut
1 | Dimanche (par défaut)
2 | Lundi
3 | Mardi
4 | Mercredi
5 | Jeudi
6 | Vendredi
7 | Samedi

firstweekofyear : un paramètre facultatif spécifiant la première semaine de l'année.

valeur firstweekofyear | Explication
--- | ---
0 | Utiliser la valeur système par défaut
1 | La semaine 1 est la semaine du 1er janvier (par défaut)
2 | La semaine 1 est la première semaine contenant quatre jours ou plus de cette même année
3 | La semaine 1 est la première semaine contenant uniquement des jours de la nouvelle année

### Type de renvoie :

Un nombre.

### Exemple :

        date1 = datetime.datetime(2005,1, 1)
        date2 = datetime.datetime(2005,12,31)
        diffDays = bas.DateDiff('d', date1, date2)
        print(diffDays)

## DatePart

La fonction DatePart renvoie une partie spécifiée de la date.

### Syntaxe :

svc.DatePart(interval: str, date: datetime, firstdayofweek = 1, firstweekofyear = 1): int

### Paramètres :

interval : une expression de chaîne spécifiant l'intervalle de date, comme détaillé dans la méthode DateAdd ci-dessus.

date : la date/heure à partir de laquelle est calculé le résultat.

firstdayofweek, firstweekofyear : paramètres facultatifs qui spécifient respectivement le jour de début d'une semaine et la semaine de début d'une année, comme détaillé dans la méthode DateDiff ci-dessus.

### Type de renvoie :

La partie extraite de la date/heure donnée.

### Exemple :

        print(bas.DatePart("ww", datetime.datetime(2005,12,31)
        print(bas.DatePart('q', datetime.datetime(1999,12,30)

## DateValue

Calcule une valeur de date à partir d'une chaîne de date.

### Syntaxe :

svc.DateValue(date: str): datetime

### Paramètres :

date : une chaîne contenant la date qui sera convertie en un objet Date.

La chaîne transmise à DateValue doit être exprimée dans l'un des formats de date définis par vos paramètres régionaux (voir LibreOffice - Préférences Outils - Options - Langues et locales - Général) ou en utilisant le format de date ISO « aaaa-mm-jj » (année, mois et jour séparés par des tirets).

### Type de renvoie :

La date calculée.

### Exemple :

        dt = bas.DateValue("23-02-2011")
        print(dt)

## Format

Convertit un nombre en chaîne de caractères puis formate celle-ci en fonction du format spécifié.

### Syntaxe :

svc.Format(expression: any, format = ''): str

### Paramètres :

expression: expression numérique à convertir en chaîne de caractères formatée.

format : chaîne spécifiant le code de format du nombre. Si format est omis, la fonction Format fonctionne comme la fonction Str() de LibreOffice Basic.

### Type de renvoie :

Chaîne de texte.

### Descriptions de format

En BASIC, un code format peut être divisé en trois sections séparées par des points-virgules. La première partie définit le format des valeurs positives, la deuxième les valeurs négatives et la troisième le zéro. Si vous ne spécifiez qu'un seul code format, il s'applique à tous les nombres.

Vous pouvez définir les paramètres régionaux utilisés pour contrôler le formatage des nombres, des dates et des devises dans LibreOffice Basic dans LibreOffice - Préférences Outils - Options - Langues et locales - Général. Dans les codes au format Basic, le point décimal (.) est toujours utilisé comme espace réservé pour le séparateur décimal défini dans vos paramètres régionaux et sera remplacé par le caractère correspondant.

Cela s'applique également aux paramètres de l'environnement linguistique relatifs aux formats de date, d'heure et de monnaie. La description de format Basic est interprétée et affichée en fonction des paramètres de l'environnement linguistique.

La liste suivante décrit les codes à utiliser pour formater une expression numérique :

Code | Description
--- | ---

0

Si expression comporte un chiffre à la position 0 dans le code format, le chiffre est affiché, sinon un zéro est affiché.

Si expression possède moins de chiffres que le nombre de zéros du code de format (de chaque côté de la décimale), les zéros à gauche et à droite apparaissent. Si expression possède plus de chiffres à gauche du séparateur de décimales que le nombre de zéros dans le code de format, les chiffres supplémentaires sont affichés sans formatage.

Les décimales dans l'expression sont arrondies en fonction du nombre de zéros apparaissant après le séparateur de décimales dans le code de format.

#

Si expression contient un chiffre à la position de l'espace réservé # dans le code format, le chiffre est affiché, sinon rien n'est affiché à cette position.

Ce symbole a la même fonction que le 0, à l'exception du fait que les zéros à gauche ou à droite ne sont pas affichés s'il y a plus de caractères # dans le code de format que de chiffres dans l'expression. Seuls les chiffres pertinents de l'expression sont affichés.

. (period)

Le substituant décimal détermine le nombre de décimales à gauche et à droite du séparateur de décimales.

Si le code de format ne contient que des substituants # à gauche de ce symbole, les nombres inférieurs à 1 débutent par un séparateur de décimales. Pour toujours afficher un zéro à gauche des nombres fractionnels, utilisez 0 comme substituant pour le premier chiffre à gauche du séparateur de décimales.

L'utilisation du point comme séparateur de décimales et de milliers dépend des paramètres régionaux. Lorsque vous saisissez un nombre directement en code source Basic, utilisez toujours un point comme séparateur de décimales. Le caractère utilisé comme séparateur de décimales dépend du format numérique des paramètres de votre système.

% | Multiplie l'expression par 100 et insère le signe de pourcentage (%) là où l'expression apparaît dans le code format.

E- E+ e- e+

Si le code de format comporte au moins un substituant de chiffre (0 ou #) situé à droite du symbole E-, E+, e- ou e+, l'expression est formatée au format scientifique ou exponentiel. La lettre E ou e est insérée entre le nombre et l'exposant. Le nombre de substituants des chiffres situés à droite du symbole détermine le nombre de chiffres contenus dans l'exposant.

Si l'exposant a une valeur négative, un signe moins s'affiche entre le symbole E-, E+, e-, e+ et la valeur de l'exposant. Si l'exposant a une valeur positive, le signe plus ne s'affiche qu'entre le symbole E+ ou e+ et la valeur de l'exposant.

- + $ ( ) space | Un signe plus (+), moins (-), dollar ($), espace ou crochets saisis directement dans le code format est affiché sous forme de caractère littéral.

\

Pour afficher des caractères autres que ceux listés ici, vous devez les faire précéder d'une barre oblique inverse (\) ou les saisir entre guillemets (" ").

La barre oblique inverse affiche le caractère suivant dans le code format.

Les caractères du code de format ayant une signification spéciale ne peuvent être affichés en tant que caractères littéraux que s'ils sont précédés d'une barre oblique inverse. La barre oblique inverse ne s'affiche pas, sauf si vous saisissez une double barre oblique inverse (\\) dans le code de format.

Les caractères devant être précédés par une barre oblique inverse dans la description de format pour s'afficher en tant que caractères littéraux sont les caractères de formatage de date et d'heure (a, c, d, h, m, n, p, q, s, t, w, y, /, :), les caractères de formatage numérique (#, 0, %, E, e, virgule, point) et les caractères de formatage de chaînes de caractères (@, &, <, >, !).

### Formats prédéfinis

Vous pouvez aussi utiliser les formats numériques prédéfinis suivants. À l'exception de General Number, tous les codes de format prédéfinies renvoient les nombres en tant que nombres décimaux à deux décimales.

Si vous utilisez des formats prédéfinis, le nom du format doit être saisi entre guillemets.

Code | Description
--- | ---
"<" | Convertir expression en minuscules.
">" | Convertir expression en majuscules.
"c" or "General Date" | Renvoie l' expression numérique au format de date court, éventuellement avec « H:MM:SS AM/PM ». Si expression est une chaîne, renvoie la chaîne.
"n" | Renvoie la minute de l'expression numérique, avec 1 ou 2 chiffres.
"nn" | Renvoie la minute de l'expression numérique avec deux chiffres.
"w" | Renvoie le jour de la semaine de l'expression numérique. 1 est dimanche et 7 est samedi.
"General Number" | Renvoie l'expression numérique avec 12 chiffres (0.############).
"Currency" | Renvoie l'expression numérique dans la devise des paramètres régionaux.
"Fixed" | Renvoie l'expression numérique avec 2 décimales (0,00).
"Standard" | Renvoie l'expression numérique avec des séparateurs de milliers et 2 décimales (@0,00).
"Percent" | Renvoie l'expression numérique sous forme de pourcentage (0,00 %).
"Scientific" | Renvoie l'expression numérique en notation scientifique (#.00E+00).
"Yes/No" | Renvoie « Oui » si l'expression numérique n'est pas égale à zéro, « Non » dans le cas contraire. « Oui » et « Non » sont localisés.
"True/False" | Renvoie « Vrai » si l'expression numérique n'est pas égale à zéro, « Faux » sinon. « Vrai » et « Faux » sont localisés.
"On/Off" | Renvoie « Activé » si l'expression numérique n'est pas égale à zéro, « Désactivé » dans le cas contraire. « Activé » et « Désactivé » sont localisés.
"Long Date" or "dddddd" | Renvoie l'expression numérique au format de date longue du système et dépend des paramètres régionaux.
"Medium Date" | Renvoie l'expression numérique au format de date JJ-MMM-AA et dépend des paramètres régionaux.
"Short Date" or "ddddd" | Renvoie l'expression numérique au format de date courte du système et dépend des paramètres régionaux.
"Long Time" or "ttttt" | Renvoie l'expression numérique au format d'heure long du système et dépend des paramètres régionaux ("H:MM:SS AM/PM").
"Medium Time" | Renvoie l'expression numérique au format d'heure du média système et dépend des paramètres régionaux (HH:MM AM/PM).
"Short Time" | Renvoie l'expression numérique au format d'heure court du système et dépend des paramètres régionaux (HH:MM).

Vous pouvez définir les paramètres régionaux utilisés pour contrôler le formatage des nombres, des dates et des devises dans LibreOffice Basic dans LibreOffice - Préférences Outils - Options - Langues et locales - Général. Dans les codes au format Basic, le point décimal (.) est toujours utilisé comme espace réservé pour le séparateur décimal défini dans vos paramètres régionaux et sera remplacé par le caractère correspondant.

Cela s'applique également aux paramètres de l'environnement linguistique relatifs aux formats de date, d'heure et de monnaie. La description de format Basic est interprétée et affichée en fonction des paramètres de l'environnement linguistique.

### Exemple :

        txt = bas.Format(6328.2, '##.##0.00')
        print(txt)

## GetDefaultContext

Renvoie le contexte par défaut du service de traitement, s'il existe ; sinon, renvoie une référence de valeur nulle.

GetDefaultContext est une alternative à la méthode getComponentContext() disponible à partir de la variable globale XSCRIPTCONTEXT ou depuis le module uno.py.

### Syntaxe :

svc.GetDefaultContext(): uno

### Type de renvoie :

Le contexte de composant par défaut est utilisé lors de l'instanciation des services via XMultiServiceFactory. Voir le chapitre Professional UNO dans le Developer's Guide sur api.libreoffice.org pour plus d'informations.

### Exemple :

        ctx = bas.GetDefaultContext()

## GetGuiType

Renvoie une valeur numérique qui spécifie l'interface utilisateur graphique. Cette fonction n'est fournie qu'à des fins de compatibilité descendante avec les versions précédentes.

Référez-vous à la méthode system() du module Python platform pour identifier le système d'exploitation.

### Syntaxe :

svc.GetGuiType(): int

### Exemple :

        n = bas.GetGuiType()

Des instructions de script plus pertinentes sont disponibles sur la page d'aide Identification du système d'exploitation.

Le service ScriptForge.Platform fournit une collection de propriétés sur l'environnement et le contexte d'exécution actuels, qui incluent la détection de la plateforme.
Une identification complète du nom du système d'exploitation est disponible à partir de la formule Calc INFO("system").

## GetPathSeparator

Renvoie le séparateur de répertoire dépendant du système d'exploitation utilisé pour spécifier les chemins d'accès aux fichiers.

Utilisez os.pathsep du module Python os pour identifiez le séparateur de chemin.

### Syntaxe :

svc.GetPathSeparator(): str

### Exemple :

        sep = bas.GetPathSeparator()

## GetSystemTicks

Renvoie le nombre de cycles système fournis par le système d'exploitation. Vous pouvez utiliser cette fonction pour optimiser certains processus. Utilisez cette méthode pour estimer le temps en millisecondes :

### Syntaxe :

svc.GetSystemTicks(): int

### Exemple :

        ticks_ini = bas.GetSystemTicks()
        time.sleep(1)
        ticks_end = bas.GetSystemTicks()
        bas.MsgBox("{} - {} = {}".format(ticks_end, ticks_ini,ticks_end - ticks_ini))

## GlobalScope.BasicLibraries

Renvoie l'objet UNO contenant toutes les bibliothèques et modules de base partagés.

Cette méthode est l'équivalent Python de GlobalScope.BasicLibraries dans les scripts Basic.

### Syntaxe :

svc.GlobalScope.BasicLibraries(): uno

### Type de renvoie :

com.sun.star.script.XLibraryContainer

### Exemple :

L'exemple suivant charge la bibliothèque Basic Gimmicks si elle n'a pas encore été chargée.

        libs = bas.GlobalScope.BasicLibraries()
        if not libs.isLibraryLoaded("Gimmicks"):
            libs.loadLibrary("Gimmicks")

## GlobalScope.DialogLibraries

Renvoie l'objet UNO contenant toutes les bibliothèques de boîtes de dialogue partagées.

Cette méthode est l'équivalent Python de GlobalScope.DialogLibraries dans les scripts Basic.

### Syntaxe :

svc.GlobalScope.DialogLibraries(): uno

### Type de renvoie :

com.sun.star.comp.sfx2.DialogLibraryContainer

### Exemple :

L'exemple suivant montre une boîte de message avec les noms de toutes les bibliothèques de boîtes de dialogue disponibles.

        dlg_libs = bas.GlobalScope.DialogLibraries()
        lib_names = dlg_libs.getElementNames()
        bas.MsgBox("\n".join(lib_names))

## InputBox

### Syntaxe :

svc.InputBox(prompt: str, [title: str], [default: str], [xpostwips: int, ypostwips: int]): str

### Paramètres :

prompt : expression au format chaîne de caractères affichée comme message dans la boîte de dialogue.

title: expression de chaîne affichée dans la barre de titre de la boîte de dialogue.

default : expression de chaîne affichée dans la zone de texte en tant qu'expression par défaut en l'absence d'autre entrée.

xpostwips : expression au format nombre entier spécifiant la position horizontale de la boîte de dialogue. La position est une coordonnée absolue et ne se rapporte pas à la fenêtre de l'application de LibreOffice.

ypostwips : expression au format nombre entier spécifiant la position horizontale de la boîte de dialogue. La position est une coordonnée absolue et ne se rapporte pas à la fenêtre de LibreOffice.

Sixpostwips etypostwips sont omis, la boîte de dialogue est centrée sur l'écran. La position est spécifiée dans twips.

### Type de renvoie :

String

### Exemple :

        txt = s.InputBox('Veuillez saisir une phrase :', "Cher utilisateur")
        s.MsgBox(txt, s.MB_ICONINFORMATION, "Confirmation de la phrase")

Pour des informations détaillées, veuillez vous référer à Entrée/Sortie à l'écran avec Python sur le Wiki.

## MsgBox

Affiche une boîte de dialogue contenant un message et renvoie une valeur facultative.
Les constantes MB_xx permettent de spécifier le type de boîte de dialogue, le nombre et le type de boutons à afficher, ainsi que le type d'icône. En ajoutant leurs valeurs respectives, ils forment des motifs binaires, qui définissent l'apparence de la boîte de dialogue MsgBox.

### Syntaxe :

bas.MsgBox(prompt: str, [buttons: int], [title: str])[: int]

### Paramètres :

prompt: expression de chaîne affichée comme un message dans la boîte de dialogue. Les sauts de lignes peuvent être insérés avec Chr$(13).

title: expression de chaîne affichée dans la barre de titre d'une boîte de dialogue. Si omise, la barre de titre affiche le nom de l'application correspondante.

buttons: expression au format nombre entier spécifiant le type de la boîte de dialogue, le nombre et le type de boutons à afficher, ainsi que le type d'icône. buttons représente une combinaison de motifs binaires, c'est-à-dire une combinaison d'éléments déterminée par l'ajout de leurs valeurs respectives :

### Type de renvoie :

Un entier facultatif comme détaillé dans les propriétés IDxx ci-dessus.

### Exemple :

        txt = s.InputBox('Veuillez saisir une phrase :', "Cher utilisateur")
        s.MsgBox(txt, s.MB_ICONINFORMATION, "Confirmation de la phrase")

Pour des informations détaillées, veuillez vous référer à Entrée/Sortie à l'écran avec Python sur le Wiki.

## Now

Renvoie la date et l'heure du système en tant qu'objet natif Python datetime.datetime.

### Syntaxe :

svc.Now(): datetime

### Exemple :

        bas.MsgBox(bas.Now(), bas.MB_OK, "Now")

## RGB

Renvoie une valeur de couleur entière composée de composants rouge, vert et bleu.

### Syntaxe :

svc.RGB(red:int, green: int, blue: int): int

### Paramètres :

red : toute expression au format nombre entier représentant le composant rouge (0-255) de la couleur composite.

green : toute expression au format nombre entier représentant le composant vert (0-255) de la couleur composite.

blue : toute expression au format nombre entier représentant le composant bleu (0-255) de la couleur composite.

La valeur Long résultante est calculée avec la formule suivante :
Result = red×65536 + green×256 + blue.

En mode de compatibilité VBA (Option VBASupport 1), la valeur Long est calculée comme suit
Result = red + green×256 + blue×65536
Voir Fonction RVB [VBA]

Le dialogue color pickeraide à calculer les composantes rouge, vert et bleu d'une couleur composite. Changer la couleur du texte and selecting Custom color affiche le dialogue color picker.

### Type de renvoie :

Integer

### Exemple :

        YELLOW = bas.RGB(255,255,0)

## Xray

Inspecte les objets ou variables UNO.

### Syntaxe :

svc.Xray(obj: any)

### Paramètres :

obj : une variable ou un objet UNO.

### Exemple :

        bas.Xray(bas.StarDesktop)

Toutes les routines ou identifiants de base ScriptForge qui sont préfixés par un caractère de soulignement "_" sont réservés à un usage interne. Ils ne sont pas destinés à être utilisés dans des macros de base ou des scripts Python.

Rubriques connexes

Spécificateur GlobalScope

Programmer avec des Scripts Python

uno.fileUrlToSystemPath()

uno.systemPathToFileUrl()

Entrée/Sortie à l'écran avec Python sur le wiki

XSCRIPTCONTEXT.getComponentContext()

uno.getComponentContext()

platform.system()

os.pathsep()

Aidez-nous !