Bonjour,
je cherche à réorganiser mes BuildingBlocks en changeant tantôt leur Type, tantôt leur Catégorie. Seulement, ils sont tellement nombreux que je souhaite le faire en code et non via l'Organisateur de blocs qui est vraiment mal foutu de mon point de vue.
Le problème c'est que je n'arrive pas à modifier à proprement parler les BuildingBlocks. Tout ce que j'arrive à faire c'est à ouvrir le BB à modifier et à en créer un nouveau après avoir récupérer les éléments.
En gros ça donne ça.
Sauf que cette méthode m'oblige à chaque fois à ouvrir un doc et à insérer le BB parce que j'ai besoin de récupérer un objet Range ce que je n'arrive pas à faire directement en code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim objBBE As BuildingBlockEntries Dim objBB As BuildingBlock Dim myRange As Range Set objBB = objTemplate.BuildingBlockTypes(wdTypeCustom1).Categories(i).BuildingBlocks(ii) (je vous épargne les boucles i et ii) Set Doc = Word.Application.Documents.Add Insertion du BB dans Doc Set myRange = Doc.Range(0, Doc.Paragraphs(Doc.Paragraphs.Count).Range.End) objBBE.Add objBB.Name, wdTypeAutoText, objBB.Category.Name, myRange
D'ailleurs ce n'est peut-être pas possible car autant j'arrive à modifier le nom des BB via la propriété Name, autant l'aide en ligne m'indique que la propriété Type est en lecture seule.
Mais d'un autre côté l'organisateur de bloc lui permet ce genre de modifications donc je ne vois pas pourquoi on ne pourrait pas le faire directement via une macro.
Du coup j'ai deux question :
1) Est-il quand même possible de modifier directement un BB ce qui m'épargnerait le processus artisanal de Création/Suppression
2) Si non, puis-je récupérer l'objet range d'un BB existant pour le transmettre à celui qui va le remplacer ?
Je m'excuse d'ores et déjà pour le mal de crâne que j'ai peut-être occasionné à certains...
Partager