Bonjour,
Je crois qu'on ne peut malheureusement pas le faire directement.Il faut
accéder aux séparateurs via MonTab.TableColumnSeparator et déplacer les
séparateurs.
Sub LargeurColonne
Dim MonDocument As Object, MonTab As Object
Dim LesSeparateurs As Variant
Dim LargeurTab As double
MonDocument = ThisComponent
MonTab = MonDocument.TextTables.getByName ("Tableau1")'à adapter
LesSeparateurs = MonTab.TableColumnSeparators
'récupération de la largeur du tableau
LargeurTab = MonTab.TableColumnRelativeSum
'modification de la largeur de la colonne 0
'.position : par rapport au côté gauche du tableau
LesSeparateurs(0).Position = LargeurTab*0.1 'par exemple
'mise à jour des séparateurs
MonTab.TableColumnSeparators = LesSeparateurs
End Sub
Il faut faire attention car si par erreur tu positionnes un séparateur
avant le précédent, la colonne disparait. Il faut donc rajouter des tests.
Agnès S.
Bonjour Agnès,
Pfffff! Tu parles d'une galère! Je ne sais pas trop en quelle unité sont
les valeurs mais c'est pas très souple ! Si j'ai bien compris d'après
les tests que j'ai fait, ça ne va que de 0.1 à 0.9, le 1.0 étant l'autre
bord du tableau (?). Enfin, je suis arrivée à faire qq chose d'à peu
près avec ce code (si ça peu servir à quelqu'un) :
sub LargeurCol
dim MonDocWriter as object
dim LesTab as Object
dim MonTab as Object
dim LesSeparateurs as Variant
dim LargeurTab as Double
MonDocWriter = ThisComponent
LesTab = MonDocWriter.TextTables
MonTab = LesTab.getByName("Tableau2") 'tableau de 5 colones
LesSeparateurs = Montab.TableColumnSeparators
LargeurTab = MonTab.TableColumnRelativeSum
LesSeparateurs(3).Position = LargeurTab*0.9
LesSeparateurs(2).Position = LargeurTab*0.8
LesSeparateurs(1).Position = LargeurTab*0.7
LesSeparateurs(0).Position = LargeurTab*0.6
MonTab.TableColumnSeparators = LesSeparateurs
end sub
Nicole.
---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org