Macros

From The Document Foundation Wiki
< Macros‎ | Writer
Jump to: navigation, search

Comment convertir un tableau en texte ?

On souhaite reproduire par programme la fonctionnalité du menu Tableau ▸ Convertir ▸ Tableau en texte.

Nous utilisons ici le dispatcher pour lancer la commande .uno:ConvertTableToText (cette partie du code peut être enregistrée si l'option Outils ▸ Options ▸ Avancé ▸ Activer l'enregistreur de macros est activée).

Le programme doit commencer par positionner le curseur dans le tableau à convertir ce qui se fera par exemple avec la méthode Select du CurrentController en lui passant un curseur créé sur le tableau.

L'exemple ci-dessous convertit un tableau nommé "Tableau2".

L'accès au tableau se fait via la méthode getByName du service TextTables. La méthode createCursorByCellName[1] permet de créer un curseur sur la cellule A1. C'est ce curseur qui est utilisé pour sélectionner le tableau qui peut alors être converti.

sub PysConvertTableau

dim oDoc as object, oTable as object
dim oTableCursor as object
dim document   as object
dim dispatcher as object
dim args1(0) as new com.sun.star.beans.PropertyValue

oDoc = thisComponent
oTable = oDoc.TextTables.getByName("Tableau2")
oTableCursor = oTable.createCursorByCellName("A1")
oDoc.CurrentController.select(oTableCursor)

document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

args1(0).Name = "Delimiter"
args1(0).Value = CHR$(9)

dispatcher.executeDispatch(document, ".uno:ConvertTableToText", "", 0, args1())


end sub

Notes :