Andyは、テンプレートの設定(マージン、フォント、タブストップなど)を「リスト」する方法があるかどうか疑問に思います。彼はデフォルトへのリセットについて多くの情報を見てきましたが、実際の設定が何であるかを彼に伝えるものは何もありません。彼は、テンプレートを開いてさまざまなアイテムを見るのは不格好で、包括的ではないと述べています。

残念ながら、Wordでこれを行う簡単な方法はありません。主な理由は、テンプレートに保存されている設定の完全なリストがなく、そのような設定の数が非常に多いためです。

最善の方法は、関心のある設定を調べてそれらを表示するマクロを作成することです。

例として、次の一連のマクロについて考えてみます。

Sub TemplateSettings()

Dim templatePath As String     Dim fleName As String     Dim str As String     Dim sTemp As String

' Select the template to be opened     templatePath = Application.Templates(1).Path     fleName = GetTemplateName(templatePath)

If fleName = "" Then         MsgBox "No template selected"

Exit Sub     End If

Application.Documents.Open (fleName)



str = ActiveDocument.Name & vbCr & vbCr

sTemp = "Other"

Select Case ActiveDocument.Sections(1).PageSetup.PaperSize         Case wdPaperLetter             sTemp = "Letter"

Case wdPaperLegal             sTemp = "Legal"

Case wdPaperA4             sTemp = "A4"

End Select     str = str & "Paper size: " & sTemp

sTemp = "Landscape"

If ActiveDocument.Sections(1).PageSetup.Orientation = wdOrientPortrait Then         sTemp = "Portrait"

End If     str = str & "  Orientation: " & sTemp & vbCr

str = str & "Margins " & marginsStr & vbCr     str = str & vbCr & "User Defined Tab stops " & UserTabStops & vbCr     str = str & vbCr & "User defined styles " & userStyles

Application.Documents(fleName).Close SaveChanges:=wdDoNotSaveChanges

MsgBox str End Sub
Function GetTemplateName(templatePath As String) As String     Dim dlg As FileDialog     Set dlg = Application.FileDialog( _       FileDialogType:=msoFileDialogFilePicker)

With dlg         .AllowMultiSelect = False         .InitialFileName = templatePath         .Filters.Clear         .Filters.Add "Templates", "*.dot"

.Filters.Add "All files", "."

.FilterIndex = 1         .Show         If .SelectedItems.Count > 0 Then             GetTemplateName = .SelectedItems(1)

Else             GetTemplateName = ""

End If     End With     Set dlg = Nothing End Function
Function userStyles() As String     Dim sty As Style     Dim s As String

s = ""

For Each sty In ActiveDocument.Styles         If Not sty.BuiltIn Then             s = vbCr & sty.NameLocal & "  " & sty.Description         End If     Next sty     userStyles = s End Function
Function UserTabStops() As String     Dim s As String     Dim tbStop As TabStop     Dim alg

alg = Array("Left", "Center", "Right", "Decimal", "Bar", "?", "List")

s = ""

For Each tbStop In ActiveDocument.Paragraphs(1).TabStops         s = s & vbCr & ptConvert(tbStop.Position) & _           " Alignment: " & alg(tbStop.Alignment)

Next tbStop     UserTabStops = s End Function
Function marginsStr() As String     With ActiveDocument         marginsStr = _           "Left: " & ptConvert(.PageSetup.LeftMargin) & _           ", Right: " & ptConvert(.PageSetup.RightMargin) & _           ", Top: " & ptConvert(.PageSetup.TopMargin) & _           ", Bottom: " & ptConvert(.PageSetup.BottomMargin)

End With End Function
Function ptConvert(p As Single) As String     ptConvert = Format(PointsToInches(p), "###.##")

' use the following line if you want dimensions in centimeters     'ptConvert = Format(PointsToCentimeters(p), "###.##")

End Function

開始する主なマクロはTemplateSettingsです。このマクロは、次に、リスト内の他の関数を呼び出します。テンプレート内のより一般的な設定のいくつかを取得し(もちろん、テンプレートを指定できます)、それらの設定をメッセージボックスに表示します。

具体的には、テンプレートの名前、用紙サイズ、ページの向き、余白、タブストップ(テンプレートの最初の段落のみ)、およびユーザー定義のスタイルが表示されます。

明らかに、抽出して表示できる設定は他にもたくさんあります。たとえば、ユーザー定義のスタイル名のリストだけでなく、各スタイルの特性を知りたい場合があります。または、組み込みスタイルのフォーマットがデフォルトのフォーマットとどのように異なるかを知りたい場合があります。これらのオプションだけでは、マクロが非常に複雑になります。

(各スタイルには数十の異なるフォーマット設定があり、組み込みスタイルの「デフォルトのフォーマット」は通常のテンプレートに保存されているものによって定義されることを考慮してください。)このような追加を含めるには、マクロを変更するだけで済みます。必要な情報をコンパイルします。

また、ここで紹介するマクロスイートは、その長さにもかかわらず、シンプルになるように設計されていることに注意してください。抽出されたすべての設定を文字列に入れ、その文字列をメッセージボックスに表示するだけです。表示しているテンプレートに多数のユーザー定義スタイルがある場合、文字列が非常に長くなる可能性があります。最終的に1,024文字より長くなると、MsgBox関数はその長さまでの文字列しか表示できないため、エラーが発生します。文字列が長くなることが予想される場合は、複数のメッセージボックスの「チャンク」に表示するか、後で調べることができるように文字列をテキストファイルに書き出すだけです。

注:

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

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

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