Contenu

# Signatures de méthodeScriptForge

Les bibliothèques ScriptForge regroupent les ressources de script de macro pour LibreOffice à invoquer à partir de macros Basic ou de scripts Python. Ses modules et classes sont invoqués à partir de scripts utilisateur en tant que "Services" qui exposent des propriétés, des méthodes et des événements.

- Chaque fois que des méthodes de service sont proposées uniquement pour LibreOffice Basic, leur présentation syntaxique correspond à celle des sous-programmes, fonctions ou propriétés Basic.

- Chaque fois que des méthodes de service sont proposées pour Python et Basic, ou uniquement pour Python, leur syntaxe et leurs arguments utilisent une disposition textuelle spécifique.

## Méthode de service Basic uniquement

Les caractères typographiques tels que crochets, points de suspension ou accolades désignent des arguments facultatifs, répétitifs ou obligatoires :

- Les éléments [opt1|opt2|opt3] à l'intérieur des parenthèses sont facultatifs, les alternatives sont indiquées par une barre verticale,

- case[[sep]…] une ellipse indique une répétition possible, un séparateur facultatif peut être spécifié,

- {choice1|choice2} les éléments à l'intérieur des accolades sont obligatoires, les alternatives sont indiquées avec une barre verticale.

### Exemple :

           FSO.HashFile(FileName As String, _
               Algorithm As String = {MD5|SHA1|SHA224|SHA256|SHA384|SHA512}) As String
           SF_Array.ImportFromCSVFile(FileName As String, _
               [Delimiter = ","], [DateFormat As String]) As Variant
           SF_String.SplitNotQuoted(InputStr As String, _
              [Delimiter As String], [Occurrences As Long], [QuoteChar As String]) As Variant

## Méthodes de service Python ou Basic

Les règles typographiques suivantes mélangent la notation UML, la mise en page de la documentation de l'API et l'interface utilisateur de l'inspecteur d'objets UNO :

- Les paramètres facultatifs sont indiqués par opt, '=' accompagnant une valeur par défaut ou '[ ]' parenthèses.

- les arguments sont en minuscules, afin de se conformer à Python PEP 8 tandis que Basic est indépendant de la casse.

- Les arguments de collections ou les séquences d'API sont désignés à l'aide de la multiplicité UML. Cela s'applique également aux valeurs de renvoi.

- Les types de données Basic et les annotations Python sont syntaxiquement transposés comme :

LibreOffice Basic | Syntaxe | Python
--- | --- | ---
Booléen | bool | bool
Date | datetime | datetime
Double | float | float
Integer | int | int
Long | int | int
Object | obj |
Single | float | float
String | str | str
Variant | any |
Objet UNO | uno |
Type défini par l'utilisateur (UDT) | obj |
Service ScriptForge | svc |

### Exemple :

svc.Forms( opt form: any ): svc[0..*]

svc.MsgBox( prompt: str, buttons = svc.MB_OK , opt title: str ): opt str

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