J'ai un code de macro qui crée essentiellement quelques tables, puis tape du texte dans certains d'entre eux, puis place quelques espaces réservés de texte. Le problème apparaît lorsque j'essaie d'appliquer des styles au texte. Au début, je pensais que seuls les espaces réservés ne sont pas affectés par le code. Mais il semble que le texte régulier, sélectionné par la macro n'est pas aussi bien appliqué.Word 2007 vba - Les styles ne sont pas appliqués via la macro
Le code ressemble fondamentalement ceci:
Selection.TypeText Text:="Entreprisecost:"
Selection.MoveRight Unit:=wdCell
Set cc = Selection.Range.ContentControls.Add(wdContentControlText)
cc.SetPlaceholderText Text:="Description of the cost"
cc.DefaultTextStyle = "EnterpriseStyle"
Selection.Style = ActiveDocument.Styles("EnterpriseStyle")
Remarquez comment je définir le style à la fois l'espace réservé et la sélection.
Ensuite, j'ai essayé d'enregistrer une macro simple où je sélectionne la ligne entière, puis j'applique le style à la sélection. Cela fonctionne quand je suis en train d'enregistrer. Mais cela ne fonctionne pas quand je cours la macro. C'est étrange:
Selection.MoveUp Unit:=wdLine, Count:=5, Extend:=wdExtend
Selection.Style = ActiveDocument.Styles("ExperienceStyle")
Pourquoi cela se produit-il? Mes paramètres de sécurité macro sont définis sur le support par défaut, mais je choisis bien sûr d'activer les macros une fois le modèle ouvert. Cela se produit lorsque j'ouvre le modèle lui-même et lorsque je double-clique dessus pour créer un nouveau document basé sur le modèle. Des idées?
Editer: Chaque partie de la macro fonctionne, en plus d'appliquer des styles. Le code qui applique le style est exécuté, le texte ne change pas. Et quand je sélectionne le texte pour vérifier dans quel style il se trouve, je peux voir que le style est appliqué. Mais ce n'est pas en même temps. Étrange, si je sélectionne le texte, puis réapplique manuellement le style, ce qui signifie, en cliquant sur le même style qui est déjà sélectionné, puis je vois que le style est vraiment appliqué. C'est comme si le style était défini sans qu'il soit réellement appliqué.
en lisant ci-dessus, je ne suis pas sûr de ce que vous voulez arriver - quel que soit le code que vous avez actuellement. peut-être que vous pourriez éditer et expliquer votre état désiré et alors peut-être qu'une solution pourrait être appliquée pour cela. – Meihua
Eh bien, je veux que le style soit appliqué à la sélection. Avec le code ci-dessus, le style n'est pas appliqué et je trouve cela étrange. –