Lignes et colonnes

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo
Book.png


Chaque feuille contient une liste de ses propres lignes et colonnes. Ces listes sont disponibles via les propriétés Rows et Columns de l'objet Spreadsheet et prennent en charge les services com.sun.star.table.TableColumns et/ou com.sun.star.table.TableRows.

L'exemple suivant crée deux objets qui font référence à la première ligne et à la première colonne d'une feuille, et stocke les références dans les variables d'objets FirstCol et FirstRow.

Dim Doc As Object
Dim Sheet As Object
Dim FirstRow As Object
Dim FirstCol As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
FirstCol = Sheet.Columns(0)
FirstRow = Sheet.Rows(0)

Les objets Column prennent en charge le service com.sun.star.table.TableColumn qui fournit les propriétés suivantes :

Width (long)
largeur d'une colonne en centièmes de millimètre.
OptimalWidth (Boolean)
définit la largeur optimale d'une colonne.
IsVisible (Boolean)
affiche une colonne.
IsStartOfNewPage (Boolean)
insère un saut de page avant une colonne lors de l'impression.

Pour que la largeur de colonne soit optimale, la propriété OptimalWidth doit être définie sur True. Il est possible de modifier la largeur d'une cellule individuelle sans modifier la largeur de la colonne qui la contient. Sur un plan pratique, OptimalWidth est davantage une méthode qu'une propriété.

Les objets Row sont basés sur le service com.sun.star.table.RowColumn qui fournit les propriétés suivantes :

Height (long)
hauteur de la ligne en centièmes de millimètre.
OptimalHeight (Boolean)
définit la hauteur optimale de la ligne.
IsVisible (Boolean)
affiche une ligne.
IsStartOfNewPage (Boolean)
insère un saut de page avant une ligne lors de l'impression.

Si la propriété OptimalHeight d'une ligne est définie sur True, sa hauteur change automatiquement lorsque celle d'une cellule qu'elle contient est modifiée. L'optimisation automatique se poursuit jusqu'à ce qu'une hauteur absolue soit assignée à la ligne par la propriété Height.

L'exemple suivant active l'optimisation automatique de la hauteur de ligne pour les cinq premières lignes de la feuille et rend la deuxième colonne invisible.

Dim Doc As Object
Dim Sheet As Object
Dim Row As Object
Dim Col As Object
Dim I As Integer
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
For I = 0 To 4
   Row = Sheet.Rows(I)
   Row.OptimalHeight = True
Next I
 
Col = Sheet.Columns(1)
Col.IsVisible = False
Documentation note.png Vous pouvez accéder aux listes Rows et Columns via un index dans Apache OpenOffice Basic. Contrairement à VBA, l'index de la première colonne est 0 (et non 1).

Insertion et suppression de lignes et de colonnes

Les objets Rows et Columns d'une feuille peuvent accéder à des lignes et colonnes existantes, mais également en insérer et en supprimer.

Dim Doc As Object
Dim Sheet As Object
Dim NewColumn As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
Sheet.Columns.insertByIndex(3, 1)
Sheet.Columns.removeByIndex(5, 1)

Cet exemple insère une nouvelle colonne à l'emplacement de la quatrième colonne dans la feuille (index 3, la numérotation commençant à 0) à l'aide de la méthode insertByIndex. Le second paramètre spécifie le nombre de colonnes à insérer (dans cet exemple, une).

La méthode removeByIndex supprime la sixième colonne (index 5). Là aussi, le second paramètre spécifie le nombre de colonnes à supprimer.

Les méthodes d'insertion et de suppression de lignes utilisent la fonction de l'objet Rows de la même manière que les méthodes d'édition des colonnes utilisent l'objet Columns.

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools