日経パソコンの連載記事の「複雑な印刷設定もワンクリックで 」に、文書全体の行間を変更するマクロを紹介いたしました。
このマクロの仕組みは、1ページに表示できる行数を増減していたわけです。
今回紹介するマクロでは、文書内のセクション(セクション区切りで区切られた部分)にあわせて行間を変更するマクロです。
<目次>
このマクロでできること
カーソルが置かれているセクションの行間を増減します。
先日の東京ワードマクロ勉強会 にて要望がございましたのでつくってみました。
下準備
通常、1つの文書には最低1つのセクションがあります。
セクション区切りが設定されていない場合には、「カーソル位置のセクション=文書全体」となりますので、ご注意下さい。
まず、「セクション」ですが、レイアウトの設定のために用いられるテクニックです。
PC Onlineの以下の記事をご覧下さい。やっぱりPC Onlineって何でも載っています。
では、どうやってセクションを入れるのか?ですね。上記の記事からの繰り返しになりますが、簡単に図示します。
(Word 2010の場合)
「ページレイアウト」タブに区切りのプルダウンメニューがあります。
ここを開くと、「セクション区切り」のメニューがでますので、4種類のうちからお選び下さい。
(Word 2003の場合)
メニューの挿入>改ページから、「改ページ」ダイアログボックスを開きます。
「改ページ」ダイアログボックスでは、セクション区切りの項目がありますので、選択します。
マクロの解説
文書全体を処理対象にした場合には、下記の青文字部分がActiveDocumentとなっていますが、今回はカーソル位置を処理対象にしているので、Selectionとなっています。
先日紹介した、「【1行マクロ】文書中の全てのフィールドコードを文字列に変換する 」と同じような考え方です。
セクションを入れた場合には、「ページ設定」ダイアログボックスで以下のようにページ当たりの行数を設定する画面で処理対象を選択できるようになるのですね。
マクロでは、このページの作業を操作しています。
マクロ
Sub 選択中のセクションの1ページの行数を増やす()
On Error Resume Next
With Selection.PageSetup
.LinesPage = .LinesPage + 1
.LayoutMode = wdLayoutModeLineGrid
End With
End Sub
Sub 選択中のセクションの1ページの行数を減らす()
On Error Resume Next
With Selection.PageSetup
.LinesPage = .LinesPage - 1
.LayoutMode = wdLayoutModeLineGrid
End With
End Sub
関連記事
複雑な印刷設定もワンクリックで (PC Online)