Position zone de texte [VB WORD] - VB/VBA/VBS - Programmation
MarshPosté le 17-09-2013 à 13:13:22
Bonjour,
J'ai réalisé une longue macro word pour la création automatique de documents word comprenant du texte, des images, et des zones de texte...
La gestion des zones de texte me pose problème et l'enregistreur de macros n'est pas utilisable a priori :
Clairement, j'aimerai que mes zones de texte soient "alignées sur le texte" et non pas "devant le texte" en termes d'"habillage".
Ceci me permettrait d'éviter des mauvais positionnement de zones de texte (chevauchement avec du corps de texte,...) vu que la taille des éléments en amont (longueur de texte) dans mon document word estvariable. Et ça me semble très fastidieux de modifier la position absolue des zones de texte dans le code en fonction de chaque cas de figure.... (Left et Top)
J'ai déjà piqué les instructions d'insertion de la text box sur un forum. En lisant d'autres forums, je comprends vaguement que pour ce problème, une conversion des zones de texte est envisageable entre inlineshape et shape mais ce n'est pas clair pour moi...
myS.Select With Selection .Font.Bold = True .Font.Size = 10 .Font.Name = "Arial" .Range.Text = "Ici se trouve mon texte" .ParagraphFormat.Alignment = wdAlignParagraphCenter End With
Set myS = Nothing
Message édité par fanch225 le 17-09-2013 à 14:24:03
Marsh Posté le 17-09-2013 à 13:13:22
Bonjour,
J'ai réalisé une longue macro word pour la création automatique de documents word comprenant du texte, des images, et des zones de texte...
La gestion des zones de texte me pose problème et l'enregistreur de macros n'est pas utilisable a priori :
Clairement, j'aimerai que mes zones de texte soient "alignées sur le texte" et non pas "devant le texte" en termes d'"habillage".
Ceci me permettrait d'éviter des mauvais positionnement de zones de texte (chevauchement avec du corps de texte,...) vu que la taille des éléments en amont (longueur de texte) dans mon document word estvariable. Et ça me semble très fastidieux de modifier la position absolue des zones de texte dans le code en fonction de chaque cas de figure.... (Left et Top)
J'ai déjà piqué les instructions d'insertion de la text box sur un forum. En lisant d'autres forums, je comprends vaguement que pour ce problème, une conversion des zones de texte est envisageable entre inlineshape et shape mais ce n'est pas clair pour moi...
Merci d'avance du coup de main.
Mon code sur la question :
Dim myS As Shape
Set myS = ActiveDocument.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, Left:=70.85, Top:=479, Width:=433, Height:=73)
myS.Line.Transparency = 1
myS.Left = wdShapeCenter
myS.Select
With Selection
.Font.Bold = True
.Font.Size = 10
.Font.Name = "Arial"
.Range.Text = "Ici se trouve mon texte"
.ParagraphFormat.Alignment = wdAlignParagraphCenter
End With
Set myS = Nothing
Message édité par fanch225 le 17-09-2013 à 14:24:03