_WordTips_の他の問題は、テンプレートの使用方法に対処しています。

テンプレートは、Word環境を定義するスタイル、マクロ、ツールバー、およびその他の「機能」の特別なコレクションに他なりません。ドキュメントに添付されているテンプレートを変更し、必要に応じてスタイルを適用するだけで、ドキュメントの外観を変更できます。 [テンプレートとアドイン]ダイアログボックスを使用して、ドキュメントに添付されているテンプレートを変更します。このダイアログボックスを表示するには、リボンの linkDeveloper tabを表示し、[テンプレート]グループの[ドキュメントテンプレート]をクリックします。 (図1を参照)

image

図1. [テンプレートとアドイン]ダイアログボックス。

ドキュメントのテンプレートを変更しても、新しいテンプレートのすべてがドキュメントに適用されるわけではありません。たとえば、テンプレートのページ設定はドキュメントに適用されません。これを適用するとかなりの数の問題が発生する可能性があることに気付くまで、これはイライラする可能性があります。

どうして? Word内のページ設定情報は、セクションの属性であるためです。これは、ドキュメントで定義されているセクションごとにページ設定を変更できることを意味します。新しいテンプレートをドキュメントに添付する場合、Wordはどのセクションのページ設定を上書きする必要があるかをどのように認識しますか?テンプレートからのページ設定をドキュメント内のすべてのセクションに適用すると、かなりの作業が失われる可能性があります。

ただし、最初にテンプレートに基づいてドキュメントを作成する場合は、このような問題はありません。この場合、新しいドキュメントは単にテンプレートドキュメント全体を反映したものです。

このことを理解した上で、テンプレートのページ設定情報を現在のドキュメントに適用したい場合は、マクロを使用してかなり簡単に行うことができます。次のマクロはガイドとして役立ちます:

Sub ApplyTemplatePageSetup()

Dim Tmpl As String     Dim CurDoc As Document

Tmpl = ActiveDocument.AttachedTemplate     Set CurDoc = ActiveDocument     Documents.Add Template:=Tmpl

With CurDoc.PageSetup         .LineNumbering.Active = _           ActiveDocument.PageSetup.LineNumbering.Active         .Orientation = ActiveDocument.PageSetup.Orientation         .TopMargin = ActiveDocument.PageSetup.TopMargin         .BottomMargin = ActiveDocument.PageSetup.BottomMargin         .LeftMargin = ActiveDocument.PageSetup.LeftMargin         .RightMargin = ActiveDocument.PageSetup.RightMargin         .Gutter = ActiveDocument.PageSetup.Gutter         .HeaderDistance = ActiveDocument.PageSetup.HeaderDistance         .FooterDistance = ActiveDocument.PageSetup.FooterDistance         .PageWidth = ActiveDocument.PageSetup.PageWidth         .PageHeight = ActiveDocument.PageSetup.PageHeight         .FirstPageTray = ActiveDocument.PageSetup.FirstPageTray         .OtherPagesTray = ActiveDocument.PageSetup.OtherPagesTray         .OddAndEvenPagesHeaderFooter = _           ActiveDocument.PageSetup.OddAndEvenPagesHeaderFooter         .DifferentFirstPageHeaderFooter = _           ActiveDocument.PageSetup.DifferentFirstPageHeaderFooter         .SuppressEndnotes = ActiveDocument.PageSetup.SuppressEndnotes         .MirrorMargins = ActiveDocument.PageSetup.MirrorMargins     End With     ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges

Set CurDoc = Nothing End Sub

このマクロは、使用中のテンプレートを判別し、そのテンプレートに基づいて新しいドキュメントを作成してから、ページ設定情報を新しいドキュメントから元のドキュメントにコピーします。完了すると、マクロによって作成された新しいドキュメントが削除されます。該当しないと思われるマクロの部分は削除できます。たとえば、テンプレートに一致するようにマージンのみを変更したい場合、このマクロに保持する必要があるのは、マージンを設定する4行だけです。

明らかに、このマクロはドキュメント内のページ設定情報を上書きします。 (これは元のアイデアですよね?)

注:

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

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

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(11672)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス: