ビルディングブロックのリストの印刷(Microsoft Word)
Karenは、Wordで利用可能なすべてのビルディングブロックのリストを印刷したいと思っていますが、その方法を見つけることができないようです。定型句のリストを印刷することはできますが、それはシステム上に持つことができるビルディングブロックのより大きなグループのサブセットにすぎません。
システム上のすべてのビルディングブロックを印刷する組み込み機能はありませんが、ビルディングブロック情報にアクセスするためのマクロを作成できます。ビルディングブロックはテンプレートに保存され、BuildingBlocks.dotxテンプレートにはすべての組み込みビルディングブロックが含まれています。
したがって、開いている各テンプレートをステップスルーし、各テンプレートからビルディングブロック情報を取得するマクロを作成する必要があります。次の例を考えてみましょう:
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
最良の結果を得るには、新しいドキュメントを開きます。マクロがビルディングブロック情報を配置するのはこのドキュメントです。マクロを実行する前に、リボンの[挿入]タブを表示し、[クイックパーツ]、[クイックパーツ]の順にクリックして、BuildingBlocks.dotxを開く必要があります。ビルディングブロックオーガナイザー。この方法でBuildingBlocks Organizerを表示すると、WordがBuildingBlocks.dotxテンプレートを開くようになります。
マクロを実行すると、各テンプレート、テンプレート内の各タイプのビルディングブロック、各タイプの各カテゴリ、最後に各カテゴリの各ビルディングブロックがステップ実行されます。各ビルディングブロックの名前、説明、および実際の値が印刷されます。
ビルディングブロックはテキスト以上のものであるため、これは期待するほど「きれいな」結果をもたらさない可能性があります。本格的なプログラムにすることもできます。これにより、マクロによって作成されたドキュメントにファンキーな文字が含まれる場合があります。
このマクロについて注意すべき他の興味深い点もあります。外側のループは、ForEachループを使用して各テンプレートをステップスルーすることに注意してください。
これは、Wordオブジェクトモデルのコレクションを操作する場合には、かなり正常でありふれたことです。ただし、関連するコレクション(BuildingBlockTypes、Categories、BuildingBlocks)はFor Eachループをサポートしていないため、この外側のループ内の3つのネストされたループはForNextループを使用します。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(11096)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice365のWordに適用されます。