2007-04-14

Word: ページ数挿入・フォント変更マクロ

調子に乗って、もう一つ簡単な、試験向けマクロを。

人からもらったノートは自分の好みのフォーマットになっていることは少ない。そこでいつもページ番号を足す。個人的に好きなのは「ページ番号/総ページ数」というフォーマット。終わりが見えるから。

また、清貧学生は、割付印刷(2ページ分を1ページに印刷)を好む。この際に、個人的に見やすいのは、MS明朝・Times New Romanの各12ポイント。10.5では読みにくい。

手動でやってもいいのだが、結構回数が増えてきた。

そこで、この2つをマクロにしてみました。

ちなみに、ページ数については、「挿入→ページ番号」でやる方法と、フッタを表示して挿入する方法がある。前者は、テキストボックスを使っており、どこでも配置できる反面、素直なテキスト(というかそもそもフィールドだが)ではなく、個人的にはいまいち。マクロも後者のページ番号が挿入される形で作成しています。(違いを感じたことない方はお試しあれ)



Sub page_total()
'070414
'フッタにpage/ total page; フォントを明朝12・times new roman 12にする。

'フッタ(ページ番号・総ページ数の挿入)
Dim srange
Set srange = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range


With srange
.Delete

.Fields.Add Range:=srange, Type:=wdFieldEmpty, Text:= _
"NUMPAGES \* Arabic ", PreserveFormatting:=True

.InsertAfter " / "

'選択範囲の変更
.Collapse Direction:=wdCollapseStart

.Fields.Add Range:=srange, Type:=wdFieldEmpty, Text:= _
"PAGE \* Arabic ", PreserveFormatting:=True

.Paragraphs(1).Alignment = wdAlignParagraphCenter

End With

'1ページ目も一緒の設定にする
ActiveDocument.Sections(1).PageSetup.DifferentFirstPageHeaderFooter = False


'フォントの変更を聞く
Style = vbYesNo + vbQuestion + vbDefaultButton2 ' ボタンを定義します。
Title = "フォント変更?" ' タイトルを定義します。
Msg = "フォントの変更をしますか?" & Chr(13) & _
"変更後のフォントは、日本語:MS明朝・英語:Times New Roman の12ポイントです。"


' メッセージを表示します。
Response = MsgBox(Msg, Style, Title)
If Response = vbNo Then ' [いいえ] がクリックされた場合、
Exit Sub
End If

'フォントの操作。明朝・times new roman
ActiveDocument.Select
Selection.WholeStory
With Selection.Font
.NameFarEast = "MS 明朝"
.NameAscii = "Times New Roman"
.NameOther = "Times New Roman"
.Name = ""
.Size = 12
End With



End Sub


No comments: