Impression d’une liste de blocs de construction (Microsoft Word)
Karen aimerait imprimer une liste de tous les Building Blocks disponibles dans Word, mais n’arrive pas à découvrir comment le faire. Vous pouvez imprimer une liste d’entrées d’insertion automatique, mais il ne s’agit que d’un sous-ensemble du plus grand groupe de blocs de construction que vous pourriez avoir sur un système.
Il n’y a pas de capacité intégrée pour imprimer tous les blocs de construction sur un système, mais vous pouvez créer une macro pour accéder aux informations des blocs de construction. Les blocs de construction sont stockés dans des modèles, le modèle Building Blocks.dotx contenant tous les blocs de construction intégrés.
Par conséquent, vous devez créer une macro qui parcourt chaque modèle que vous avez ouvert et récupère les informations de bloc de construction de chacun d’eux. Prenons l’exemple suivant:
Sub PrintBuildingBlocks() Dim oTemplate As Template Dim oBBT As BuildingBlockType Dim oCat As Category Dim oBB As BuildingBlock Dim J As Integer Dim K As Integer Dim L As Integer ' Loops through all of the open templates For Each oTemplate In Templates ' Prints the name of the template Selection.TypeText oTemplate.Name & vbCrLf For J = 1 To oTemplate.BuildingBlockTypes.Count Set oBBT = oTemplate.BuildingBlockTypes(J) ' Checks if the building block category has at least one entry If oBBT.Categories.Count > 0 Then ' Prints the name of the type of building block Selection.TypeText vbTab & oBBT.Name & vbCrLf For K = 1 To oBBT.Categories.Count Set oCat = oBBT.Categories(K) ' Prints the name of the category of the building block Selection.TypeText vbTab & vbTab & oCat.Name & vbCrLf For L = 1 To oCat.BuildingBlocks.Count Set oBB = oCat.BuildingBlocks.Item(L) ' Prints the name, description, and value Selection.TypeText vbTab & vbTab & vbTab & _ "BB " & L & ": " & oBB.Name & vbCrLf Selection.TypeText vbTab & vbTab & vbTab & _ "Description: " & oBB.Description & vbCrLf Selection.TypeText vbTab & vbTab & vbTab & _ "Value: " & oBB.Value & vbCrLf & vbCrLf Next L Next K Else ' Prints the name of the type of building block AND ' mentions that it does not contain any entries Selection.TypeText vbTab & oBBT.Name & _ " (no entries)" & vbCrLf End If Next J Next oTemplate End Sub
Pour de meilleurs résultats, ouvrez un tout nouveau document; c’est ce document dans lequel la macro place les informations du bloc de construction. Avant d’exécuter la macro, le Building Blocks.dotx doit être ouvert en affichant l’onglet Insertion du ruban, puis en cliquant sur Quick Parts | Organisateur de blocs de construction. L’affichage de l’organisateur de blocs de construction de cette manière garantit que Word ouvre le modèle Building Blocks.dotx.
Lorsque vous exécutez la macro, elle parcourt chaque modèle, chaque type de bloc fonctionnel du modèle, chaque catégorie de chaque type et enfin chaque bloc fonctionnel de chaque catégorie. Le nom, la description et la valeur réelle de chaque Building Block sont imprimés.
Cela peut ne pas donner un résultat aussi « joli » que vous pourriez l’espérer car les Building Blocks sont bien plus que du texte – ils peuvent aussi être des programmes à part entière. Cela peut entraîner des caractères géniaux dans le document créé par la macro.
Il y a aussi quelque chose d’intéressant à noter à propos de cette macro. Notez que la boucle extérieure parcourt chaque modèle à l’aide d’une boucle For Each.
C’est plutôt normal et banal pour travailler sur des collections dans le modèle d’objet Word. Cependant, les trois boucles imbriquées dans cette boucle externe utilisent une boucle For Next car les collections impliquées (BuildingBlockTypes, Categories et BuildingBlocks) ne prennent pas en charge les boucles For Each.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
WordTips est votre source pour une formation Microsoft Word rentable.
(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (11096) s’applique à Microsoft Word 2007, 2010, 2013, 2016, 2019 et Word dans Office 365.