FAQ LibreOffice et Apache OpenOfficeConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 359, dernière mise à jour : 15 juillet 2017 Ajouter une question
Bienvenue sur la FAQ, elle a été réalisée pour répondre aux questions concernant les suites bureautiques Apache OpenOffice (AOO) et LibreOffice (LibO).
Si vous souhaitez participer pour l'améliorer, pour proposer vos contributions ou si vous constatez des erreurs dans cette page, n'hésitez-pas !!! Participez.
La procédure ajoute un tableau dans le document puis remet en forme les cellules.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Sub InsertionTableauWriter Dim oDoc As Object , oText As Object , oCurseur As Object Dim oTable As Object Dim NumLigne As Integer , NimColonne As Integer Dim Cellule As Object Dim Tcs() oDoc = ThisComponent oText = oDoc.getText() oCurseur = oText.createTextCursor() '--- création tableau --- oTable = oDoc.createInstance( "com.sun.star.text.TextTable" ) 'Définit les dimensions du tableau: 'Table de 5 colonnes et 20 lignes oTable.initialize( 20 , 5 ) 'Insertion du tableau dans le document, à l'emplacement du curseur oText.insertTextContent( oCurseur, oTable, False ) '----------------------- '--- Modifie la largeur de la 1ere colonne --- Tcs = oTable.TableColumnSeparators Tcs(0).Position = 1000 oTable.TableColumnSeparators = Tcs() '--------------------------------------------- |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 'Boucle sur les cellules du tableau pour la mise en forme For NumLigne = 0 To oTable.Rows.getCount() - 1 For NumColonne = 0 To oTable.Columns.getCount() - 1 'Définit la cellule du tableau Cellule = oTable.getCellByPosition( NumColonne, NumLigne ) 'Modifie la couleur de fond de la cellule Cellule.BackColor = RGB( 235 , 235 , 125 ) oText = Cellule.getText() oCurseur = oText.createTextCursor() 'Spécifie l'alignement des données dans la cellule 'oCurseur.paraAdjust = com.sun.star.style.ParagraphAdjust.RIGHT oCurseur.paraAdjust = com.sun.star.style.ParagraphAdjust.CENTER 'oCurseur.paraAdjust = com.sun.star.style.ParagraphAdjust.LEFT 'Applique une mise en forme particulière dans la 1ere colonne If NumColonne = 0 Then oCurseur.setPropertyValue("CharRotation", 900) 'Rotation 900 = 90° oCurseur.CharColor = RGB(255,0,0) 'couleur des caractères oCurseur.CharHeight = 8 'Taille catactères oCurseur.CharWeight = com.sun.star.awt.FontWeight.BOLD 'gras oCurseur.CharPosture = com.sun.star.awt.FontSlant.ITALIC 'italique oCurseur.CharFontName = "Arial" 'Font oCurseur.CharUnderline = _ com.sun.star.awt.FontUnderline.SINGLE 'souligné simple oCurseur.CharBackcolor = RGB(0,0,0) 'couleur de fond du texte End If 'Insère du texte dans la cellule oText.insertString( oCurseur, "C" & NumColonne + 1 & "/R" & _ NumLigne + 1 , False ) Next NumColonne Next NumLigne End Sub |
Cet exemple montre comment ajouter une ligne à la 5eme ligne du premier tableau.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 | Sub AjoutLignesTableau Dim oTable As Object , Lignes As Object 'Spécifie le 1er tableau du document oTable = ThisComponent.TextTables.getByIndex(0) Lignes = oTable.getRows() 'Ajoute une ligne à la 5eme ligne 'insertByIndex(numéro de ligne pour l'insertion , nombre de lignes à insérer) 'L'index de la 1ere ligne = 0 Lignes.insertByIndex(4, 1) End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Sub PositionTableau_NumeroPage Dim oDoc As Object , oCurseur As Object , oTable As Object Dim oVueCurseur As Object Dim NumPage As Integer oDoc = ThisComponent oVueCurseur = oDoc.CurrentController.ViewCursor 'getByIndex(2) correspond au 3eme tableau dans le document oTable = oDoc.TextTables.getByIndex(2) 'Pour spécifier un tableau à partir de son nom, utilisez: 'oTable = oDoc.TextTables.getByName("LeNom") oCurseur = oTable.getCellByName("A1").createTextCursor oVueCurseur.gotoRange(oCurseur, FALSE) NumPage = oVueCurseur.getPage MsgBox "Le Tableau est sur la page: " & NumPage End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Sub InsertionImage_Dans_TableauWriter Dim oTable As Object , oImage As Object Dim Cellule As Object , Texte As Object , Curseur As Object '--- Définit l'image qui va être insérée dans la cellule du tableau --- oImage = ThisComponent.createInstance( "com.sun.star.text.GraphicObject" ) 'Nécessite d'être connecté à internet oImage.GraphicURL = "http://www.developpez.com/template/logo.gif" oImage.AnchorType = com.sun.star.text.TextContentAnchorType.AS_CHARACTER '--- 'getByIndex(0) correspond au 1er tableau dans le document oTable = ThisComponent.TextTables.getByIndex(0) 'Définit la première cellule dans le tableau Cellule = oTable.getCellByPosition(0,0) Texte = Cellule.getText() Curseur = Texte.createTextCursor() Texte.insertTextContent( Curseur , oImage , False ) End Sub |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.