次の方法で共有


Office Space: Word 文書に改ページを挿入する

Office Space

Office Space へようこそ。Office Space は、Microsoft® Office アプリケーションのスクリプト作成に関するヒントとテクニックを紹介する新しいコラムです。過去のヒントについては、Office Space アーカイブを参照してください。Microsoft Office でのスクリプト作成について質問がある場合は、scripter@microsoft.com (英語のみ) までお送りください。すべての質問に回答することはできないかもしれませんが、可能な限り対応いたします。

Word 文書に改ページを挿入する

体裁の整ったシステム管理レポートを作成するツールとして Microsoft Word を使い始めたときに、おそらく次のような問題に直面するでしょう。レポートに改ページを挿入するにはどうすればよいのだろう。たとえば、すべてのドメイン コントローラから情報を収集して、Word 文書に保存するスクリプトがあるとします。そして、ドメイン コントローラ A に関する情報をページ 1 に表示し、ドメイン コントローラ B に関する情報をページ 2 に表示したいとします。これは、文書中に改ページを挿入する必要があることを意味します。この作業は難しいのでしょうか。

安心してください。それほど難しくはありません。次のスクリプトは、新しい Word 文書を作成し、「This is page 1」と入力して、改ページを挿入してから、2 ページ目に「This is page 2」と入力します。

Const wdPageBreak = 7 

Set objWord = CreateObject("Word.Application")
objWord.Visible = TRUE
Set objDoc = objWord.Documents.Add()

Set objSelection = objWord.Selection

objSelection.TypeText "This is page 1"
objSelection.InsertBreak(wdPageBreak)
objSelection.TypeText "This is page 2"

言ったとおり簡単ですね。まず、wdPageBreak という名前の定数を作成し、値として 7 を代入します。これによって、段区切りや折り返しの区切りではなく改ページを挿入するようにスクリプトに指示しています。次に、Word のインスタンスを作成し、(スクリプトの動作を確認できるようにするために) Visible プロパティを TRUE に設定して、新しい文書を作成します。Selection オブジェクトのインスタンスを作成し、次のコード行で最初のテキストを入力します。

objSelection.TypeText "This is page 1"

ようやく、形ができてきました。次は実際に改ページを挿入するコードです。ご覧のとおり、ここで必要なのは、定数 wdPageBreak を単一パラメータとして渡して InsertBreak メソッドを呼び出すことだけです。

objSelection.InsertBreak(wdPageBreak)

このスクリプトの動作を検証するために、もう少しだけ説明します。文書を確認してください。ページ 1 に「This is page 1」、ページ 2 に「This is page 2」と、それぞれ書き込まれているはずです。これで、目的は達成されました。