(Wordマクロ)ページ設定:文字数と行数
ページ設定のうち、文字数と行数のタブをマクロで制御する方法を解説します。
このページで解説する項目は次の通りです。上から順番に解説します。
①文字方向
設定方法
ContentオブジェクトのOrientationメソッドで設定します。文字方向は横書きまたは縦書きのいずれかを設定します。
なお、引数として、wdTextOrientationDownwardとwdTextOrientationUpwardの2つも用意されていますが、これらは指定できません(指定するとエラーとなります)。
使用例
横書きにする
Public Sub ページ全体の文字方向を指定する() '横書き ActiveDocument.Content.Orientation = _ wdTextOrientationHorizontalRotatedFarEast End Sub
縦書きにする
Public Sub ページ全体の文字方向を指定する() '縦書き ActiveDocument.Content.Orientation = wdTextOrientationVerticalFarEast End Sub
②段数
設定方法
Activedocument.PageSetup.TextColumnsプロパティで設定します。
TextColumns.SetCountメソッドで、設定する段数を指定します。設定できる段数は1~45の整数値ですが、極端に大きな数値を指定すると以下のエラーメッセージが表示されます。
引数は、NumColumnsですが、省略しても構いません。
また、段の間隔を均等にするEvenlySpacedプロパティなどもあります。これは、下の画像の赤枠で囲った部分に関する設定です。そのほか、段組みに関する設定は細かいものがたくさんありますので、別記事を立てて解説します。
使用例
段数の設定
Public Sub ページの段数を2にする() With ActiveDocument.PageSetup.TextColumns .SetCount NumColumns:=2 '.SetCount 2 としても構いません .EvenlySpaced = True '段の間隔を均等にします End With End Sub
③文字数と行数の指定
設定方法
ActiveDocument.PageSetup.LayoutModeプロパティで設定します。
通常の設定と同じように、「標準の文字数を使う」「文字数と行数を指定する」「行数だけを指定する」「原稿用紙の設定にする」の4つを指定可能です。
使用例
標準の文字数を使う
Public Sub 文字数と行数の指定() '標準の文字数を使う ActiveDocument.PageSetup.LayoutMode = wdLayoutModeDefault End Sub
文字数と行数を指定する
Public Sub 文字数と行数の指定() '文字数と行数を指定する ActiveDocument.PageSetup.LayoutMode = wdLayoutModeGrid End Sub
行数だけを指定する
Public Sub 文字数と行数の指定() '行数だけを指定する ActiveDocument.PageSetup.LayoutMode = wdLayoutModeLineGrid End Sub
原稿用紙の設定にする
Public Sub 文字数と行数の指定() '原稿用紙の設定にする ActiveDocument.PageSetup.LayoutMode = wdLayoutModeGenko End Sub
④文字数
ActiveDocument.PageSetup.CharsLineプロパティで設定します。指定できる数値を超えると以下のエラーメッセージが表示されます。
CharsLineプロパティを設定した場合、LayoutModeプロパティの指定に関わらず、「文字数と行数を指定する」の設定に切り替わります。
なお、調べた限り、WordのVBAでは字送りで設定することはできないようです。「標準の字送りを使用する」のチェックボックスに関わる設定も見つかりませんでした。
余談ですが、「標準の字送りを使用する」のチェックボックスは、チェックを入れたとしても、再度ダイアログボックスを開くときにはチェックが外れています。チェックを入れた瞬間に文字数が切り替わることから目的の動作は果たされているのでしょうが、挙動としては何とも言い難いもやもや感があります。
使用例
Public Sub 文字数を指定する() ActiveDocument.PageSetup.CharsLine = 27 End Sub
⑤行数
ActiveDocument.PageSetup.LinesPageプロパティで設定します。指定できる数値を超えると以下のエラーメッセージが表示されます。
LinesPageプロパティを設定した場合、CharasLineプロパティを設定した場合と同様、LayoutModeプロパティの指定に関わらず、「文字数と行数を指定する」の設定に切り替わります。また、行送りでの指定はできません。
使用例
Public Sub 行数を指定する() ActiveDocument.PageSetup.LinesPage = 28 End Sub
最近のコメント