【Word VBA】「1ページの行数」を調整するWordマクロ

2011年5月19日

昨日ご紹介いたしました「『1ページの行数』の簡単な調整方法 」のマクロ化の紹介です。

昨日の話のまとめですが、1ページの行数の設定には2つのポイントがありました。

(1)ページ設定で、文書全体の書式を設定すること
(2)段落設定で、文書中の特定の段落の書式を「ページ設定」を基準にして設定すること

よって、これらの要素をまとめて1つのマクロにします。

マクロ解説

「行数の入力」に関する部分

InputBoxにて、String型(文字列型)のデータを取得します。

行数は1~45の数値しかとれませんので、それ以外の数値を指定した場合には再入力を促します。

全角数字で入力された場合にでも、大小比較は文字列ではなく、数値として扱われます。

「ページ設定」に関する部分

1ページの行数

上記の2つの項目をマクロ化しました。

「段落設定」に関する部分

1ページの行数

上記2つの項目をマクロ化しました。

マクロ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub Lines()
 
  'ページの行数の設定マクロ
 
  Dim myLines As String '行数
 
  '行数の入力
  Do
    myLines = InputBox("行数を45以下の数値で入力してください。")
    If Len(myLines) = 0 Then End 'キャンセルの場合に修了
  Loop While myLines > 45 Or myLines < 1
 
  'ページ設定
  With ActiveDocument.PageSetup
    'inputboxで入力した行数を指定
    .LinesPage = myLines
    '「行数だけを指定する」モードに設定
    .LayoutMode = wdLayoutModeLineGrid
  End With
 
  '段落設定
  With ActiveDocument.Range.ParagraphFormat
    '行間(行高)=ページ設定で指定した行数の行高の1行分
    .LineSpacingRule = wdLineSpaceSingle
    'ページ設定で指定した行数のグリッドにあわせる
    .DisableLineHeightGrid = False
  End With
 
End Sub

-コード
-,

S