デイブは、彼のドキュメントにフル機能のスタイルシートを印刷する方法を望んでいます。彼は、[印刷]ダイアログボックスで[スタイル]を印刷することを選択できることを知っていますが、色、サイズ、フォントなどの実際のスタイルを示すスタイルシートが必要です。

残念ながら、Wordにはそのような機能はありません。ただし、マクロを使用して、好みのスタイルシートを作成することはできます。たとえば、次の例では、現在のドキュメントに、ドキュメントで使用可能なすべてのスタイルの名前を挿入します。各スタイル名は独自の行(段落)にあり、さまざまなスタイルを使用してフォーマットされています。

Sub ListStyleNames()

For Each Style In ActiveDocument.Styles        With Selection            .Style = ActiveDocument.Styles(Style)

.TypeText (ActiveDocument.Styles(Style).NameLocal)

.TypeParagraph        End With    Next End Sub

このようなアプローチは、スタイルの簡潔なリストには便利ですが、[印刷]ダイアログボックスの[スタイル]指定を使用して印刷できるものよりもはるかに有益ではありません。ただし、これは、よりフル機能のスタイルシートを作成するために構築できる基礎を提供します。

マクロを使用して詳細なスタイルシートを作成する場合の問題は、スタイルに大量の情報が含まれる可能性があることです。 Wordで使用される(そしてVBAでアクセス可能な)オブジェクトモデルは、スタイルをテストしてその内容を確認するときに、すぐに非常に複雑になります。これはあなたに味を与えるための簡単な例です:

Sub SimpleStyleSheet()

Dim sOutput As String     Dim sTemp As String     Dim StyleTypes(4) As String

StyleTypes(1) = "Paragraph"

StyleTypes(2) = "Character"

StyleTypes(3) = "Table"

StyleTypes(4) = "List"



For Each Style In ActiveDocument.Styles         sOutput = Style.NameLocal & vbCrLf         sOutput = sOutput & "   Style type: " & StyleTypes(Style.Type) & vbCrLf         sTemp = Style.BaseStyle         If Len(sTemp) > 0 Then             sOutput = sOutput & "   Based on: " & Style.BaseStyle & vbCrLf         End If         sOutput = sOutput & "   Font: " & Style.Font.Name         sTemp = ""

If Style.Font.Bold Then sTemp = sTemp & "Bold, "

If Style.Font.Italic Then sTemp = sTemp & "Italic, "

If Len(sTemp) > 0 Then             sTemp = Left(sTemp, Len(sTemp) - 2)

sOutput = sOutput & " (" & sTemp & ")"

End If         sOutput = sOutput & vbCrLf         Selection.TypeText (sOutput & vbCrLf)

Next End Sub

このマクロが行う唯一のことは、すべてのスタイル、それらがどのタイプのスタイルであるか、それらが異なるスタイルに基づいているかどうか(そしてそうであれば、そのスタイルの名前)、スタイルで使用されているフォント、およびフォントは太字または斜体です。スタイルに精通している人なら誰でも、これらのいくつかの項目はスタイル内で定義できるもののほんの一部にすぎないことをすぐに理解できます。考えられるすべてのスタイル形式をチェックしてスタイルシートに印刷すると、マクロが非常に長くなります。

それでも、このマクロは、独自のスタイルシートをまとめる方法のアイデアを提供するので役立つ場合があります。スタイルシートに何を見たいかを理解し、マクロコードを追加してその情報を決定し、印刷するだけです。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(6748)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ: