Bonjour tout le monde,
Je suis en train de créer un modèle de courrier, il comporte pour la salutation deux zones de texte de formulaire (dans le document) que j'envisage d'alimenter par macro avec le contenu d'une liste combinée déroulante.
Le transfert du contenu se fait bien, à présent se pose le problème d'ajuster la largeur de la zone de texte à celle du texte affiché, sinon ça laisse un blanc énorme suivi d'une virgule, franchement pas terrible.
Apparemment, la question se subdivise en deux sous-questions :
Largeur de la zone de texte
J'ai pu sélectionner une zone de texte comme suit :
Problème : cet objet n'a pas de propriété Width, alors que l'interface utilisateur permet bien de la modifier -cette manoeuvre n'est au demeurant pas enregistrée par l'enregistreur de macros.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 maPage = thisComponent.DrawPage oForm = maPage.Forms.getByName("Formulaire") ctrlTxt1 = oForm.getByName("txtSalutation1")
Largeur du texte
Le texte étant affiché en police à espacement variable, il s'agit de déterminer la largeur correspondant au texte.
J'ai bien des pistes mais sur d'autres plateformes, donc je doute qu'il soit utile d'insister par là.
Pour le premier point j'ai bien pensé à passer par un objet Shape :
https://wiki.openoffice.org/wiki/Working_with_Shapes
mais l'exemple donné ne permet pas de modifier un objet existant.
Est-ce que ça inspire quelqu'un ?
Partager