Drucken einer Liste von Bausteinen (Microsoft Word)
Karen möchte eine Liste aller in Word verfügbaren Bausteine ausdrucken, kann aber anscheinend nicht herausfinden, wie das geht. Sie können eine Liste von AutoText-Einträgen ausdrucken, dies ist jedoch nur eine Teilmenge der größeren Gruppe von Bausteinen, die Sie auf einem System haben könnten.
Es gibt keine integrierte Funktion zum Drucken aller Bausteine auf einem System, Sie können jedoch ein Makro erstellen, um auf die Bausteininformationen zuzugreifen. Bausteine werden in Vorlagen gespeichert, wobei die Vorlage Building Blocks.dotx alle integrierten Bausteine enthält.
Daher müssen Sie ein Makro erstellen, das jede geöffnete Vorlage durchläuft und die Bausteininformationen von jeder Vorlage abruft. Betrachten Sie das folgende Beispiel:
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
Öffnen Sie ein brandneues Dokument, um die besten Ergebnisse zu erzielen. In diesem Dokument platziert das Makro die Bausteininformationen. Vor dem Ausführen des Makros sollte Building Blocks.dotx geöffnet werden, indem die Registerkarte Einfügen des Menübands angezeigt und dann auf Quick Parts | geklickt wird Building Blocks Organizer. Wenn Sie den Building Blocks Organizer auf diese Weise anzeigen, wird sichergestellt, dass Word die Vorlage Building Blocks.dotx öffnet.
Wenn Sie das Makro ausführen, durchläuft es jede Vorlage, jeden Bausteintyp in der Vorlage, jede Kategorie in jedem Typ und schließlich jeden Baustein in jeder Kategorie. Der Name, die Beschreibung und der tatsächliche Wert für jeden Baustein werden gedruckt.
Dies führt möglicherweise nicht zu einem „hübschen“ Ergebnis, wie Sie vielleicht hoffen, da Bausteine viel mehr als nur Text sind – sie können auch vollwertige Programme sein. Dies kann dazu führen, dass das vom Makro erstellte Dokument einige unkonventionelle Zeichen enthält.
Es gibt noch etwas Interessantes an diesem Makro zu beachten. Beachten Sie, dass die äußere Schleife jede Vorlage mithilfe einer For Each-Schleife durchläuft.
Dies ist eher normal und banal für das Durcharbeiten von Sammlungen im Word-Objektmodell. Die drei verschachtelten Schleifen in dieser äußeren Schleife verwenden jedoch eine For Next-Schleife, da die beteiligten Sammlungen (BuildingBlockTypes, Categories und BuildingBlocks) For Each-Schleifen nicht unterstützen.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (11096) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365.