Wordで文書を作成していると、ページ番号を挿入したくなる場面がよくありますよね。特に、表紙や目次を除いて本文からページ番号を付けたいとき、手動で設定するのは少し面倒です。そこで、今回は「Word VBA」を使って、初心者でも簡単にページ番号を挿入する方法をご紹介します。これを覚えれば、毎回の作業がぐっと楽になりますよ!
Word VBAとは?
Word VBA(Visual Basic for Applications)は、Microsoft Wordに組み込まれているプログラミング言語です。これを使うと、繰り返しの作業を自動化したり、複雑な操作を簡単に行ったりすることができます。例えば、毎回手動でページ番号を挿入する代わりに、VBAマクロを使って一度に設定することが可能です。
ページ番号を挿入するための準備
まず、VBAマクロを使うための準備をしましょう。
- Wordを開き、任意の文書を用意します。
- キーボードの「Alt」キーを押しながら「F11」キーを押して、VBAの編集画面を開きます。
- 「挿入」メニューから「標準モジュール」を選択します。
- 表示されたモジュールに、後ほどご紹介するコードを貼り付けます。
これで、VBAマクロを実行する準備が整いました。
ページ番号を挿入するVBAコード
次に、実際にページ番号を挿入するためのVBAコードをご紹介します。
Sub InsertPageNumber()
Dim myDoc As Document
Dim myPage As Long
Dim myStartP As Long
Dim mySection As Long
Dim myRange As Range
' 現在の文書を取得
Set myDoc = ActiveDocument
' ページ番号を開始するページを入力
myPage = InputBox("ページ番号を開始するページを入力してください。", "ページ番号開始ページ")
If myPage < 1 Or myPage > myDoc.Range.Information(wdNumberOfPagesInDocument) Then
MsgBox "無効なページ番号です。"
Exit Sub
End If
' 開始番号を入力
myStartP = InputBox("開始番号を入力してください。", "開始番号")
If myStartP < 1 Then
MsgBox "無効な開始番号です。"
Exit Sub
End If
' 指定ページに移動
myDoc.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=myPage
' セクション区切りを挿入
Selection.InsertBreak Type:=wdSectionBreakNextPage
' セクション番号を取得
Set myRange = Selection.Range
myRange.SetRange Start:=0, End:=Selection.End
mySection = myRange.Sections.Count
' ページ番号の設定
With myDoc.Sections(mySection + 1)
.Footers(wdHeaderFooterPrimary).PageNumbers.RestartNumberingAtSection = True
.Footers(wdHeaderFooterPrimary).PageNumbers.Add _
Position:=wdAlignParagraphRight, _
Alignment:=wdAlignParagraphCenter, _
StartingNumber:=myStartP
End With
End Sub
このコードを先ほどのVBA編集画面に貼り付けてください。
コードの解説
このマクロは、以下の手順でページ番号を挿入します。
- ユーザーに開始ページと開始番号を入力させます。
- 指定されたページにカーソルを移動させます。
- そのページの前にセクション区切りを挿入します。
- 新しいセクションのフッターに、指定された開始番号からページ番号を挿入します。
これにより、指定したページからページ番号が開始され、前のページには影響を与えません。
実際に試してみましょう
例えば、目次が1ページ目、表紙が2ページ目、本文が3ページ目から始まる文書を考えてみましょう。このマクロを使うと、3ページ目からページ番号を「1」として挿入することができます。これで、目次や表紙を含めずに本文からページ番号を付けることができます。
よくある質問や疑問
Q1: VBAマクロの実行方法がわかりません。
VBAマクロを実行するには、編集画面でコードを貼り付けた後、「F5」キーを押すか、「実行」メニューから「Sub/UserFormの実行」を選択してください。
Q2: ページ番号の位置を変更したい。
コード内の「Position:=wdAlignParagraphRight」を「Position:=wdAlignParagraphLeft」に変更すると、左寄せにできます。また、「Alignment:=wdAlignParagraphCenter」を「Alignment:=wdAlignParagraphRight」に変更すると、右寄せにできます。
Q3: セクション区切りを挿入せずにページ番号を挿入できますか?
セクション区切りを挿入せずにページ番号を挿入することも可能ですが、前のページの設定が影響する可能性があります。セクション区切りを挿入することで、前のページの設定に影響されずにページ番号を設定できます。
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良...もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
Word VBAを使うことで、手動で行っていたページ番号の設定を自動化することができます。特に、目次や表紙を除いて本文からページ番号を付けたい場合、このマクロが非常に役立ちます。ぜひ試してみてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。
コメント