Word VBAでページ番号を挿入する方法とは?初心者でもできる簡単マクロ解説

パソコンパソコン・スマホ教室
スポンサーリンク

Wordで文書を作成していると、ページ番号を挿入したくなる場面がよくありますよね。特に、表紙や目次を除いて本文からページ番号を付けたいとき、手動で設定するのは少し面倒です。そこで、今回は「Word VBA」を使って、初心者でも簡単にページ番号を挿入する方法をご紹介します。これを覚えれば、毎回の作業がぐっと楽になりますよ!

スポンサーリンク

Word VBAとは?

Wordのイメージ

Wordのイメージ

Word VBA(Visual Basic for Applications)は、Microsoft Wordに組み込まれているプログラミング言語です。これを使うと、繰り返しの作業を自動化したり、複雑な操作を簡単に行ったりすることができます。例えば、毎回手動でページ番号を挿入する代わりに、VBAマクロを使って一度に設定することが可能です。

ページ番号を挿入するための準備

まず、VBAマクロを使うための準備をしましょう。

  1. Wordを開き、任意の文書を用意します。
  2. キーボードの「Alt」キーを押しながら「F11」キーを押して、VBAの編集画面を開きます。
  3. 「挿入」メニューから「標準モジュール」を選択します。
  4. 表示されたモジュールに、後ほどご紹介するコードを貼り付けます。

これで、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. そのページの前にセクション区切りを挿入します。
  4. 新しいセクションのフッターに、指定された開始番号からページ番号を挿入します。

これにより、指定したページからページ番号が開始され、前のページには影響を与えません。

実際に試してみましょう

例えば、目次が1ページ目、表紙が2ページ目、本文が3ページ目から始まる文書を考えてみましょう。このマクロを使うと、3ページ目からページ番号を「1」として挿入することができます。これで、目次や表紙を含めずに本文からページ番号を付けることができます。

よくある質問や疑問

Q1: VBAマクロの実行方法がわかりません。

VBAマクロを実行するには、編集画面でコードを貼り付けた後、「F5」キーを押すか、「実行」メニューから「Sub/UserFormの実行」を選択してください。

Q2: ページ番号の位置を変更したい。

コード内の「Position:=wdAlignParagraphRight」を「Position:=wdAlignParagraphLeft」に変更すると、左寄せにできます。また、「Alignment:=wdAlignParagraphCenter」を「Alignment:=wdAlignParagraphRight」に変更すると、右寄せにできます。

Q3: セクション区切りを挿入せずにページ番号を挿入できますか?

セクション区切りを挿入せずにページ番号を挿入することも可能ですが、前のページの設定が影響する可能性があります。セクション区切りを挿入することで、前のページの設定に影響されずにページ番号を設定できます。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良...もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

Word VBAを使うことで、手動で行っていたページ番号の設定を自動化することができます。特に、目次や表紙を除いて本文からページ番号を付けたい場合、このマクロが非常に役立ちます。ぜひ試してみてください。

他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました