せっかくWordで余白や用紙サイズを丁寧に設定したのに、次に開いたら元に戻っていた…。そんな経験はありませんか?「毎回同じ設定をやり直すのが面倒すぎる!」「なんで保存されないの?」と頭を抱えているあなたに、この記事はぴったりです。
Wordのページ設定が保存されない問題は、初心者から上級者まで多くの人がぶつかるよくあるトラブルのひとつです。しかし原因を正しく理解すれば、ほとんどのケースは自分で解決できます。この記事では、「なぜ保存されないのか」という根本原因から、段階別の具体的な対処法まで、丸ごとわかりやすく解説します。
- Wordのページ設定が保存されない主要な原因とその見分け方
- 初心者でもすぐ実践できるステップ別の解決策
- 同じトラブルを二度と起こさない予防策と正しいテンプレート管理法
- そもそもWordのページ設定はどこに保存されているの?
- Wordのページ設定が保存されない!5つの原因を徹底解説
- 状況別!Wordのページ設定が保存されない問題の解決策
- Wordのバージョンやプリンタ設定がページ設定に与える影響
- 上級者向け!Normal.dotmを直接編集してページ設定を永久固定する方法
- 二度と悩まないために!ページ設定を崩さないための予防策5選
- 情シス10年超の経験から語る!現場で本当によく起きるトラブルと隠れた真因
- コピペで使える!実用VBAコード集(動作バージョン明記)
- 体験ベースで語る!「あるある」すぎる現実の問題と解決法
- 情シス直伝!Normal.dotmの最強管理術
- ぶっちゃけこうした方がいい!
- Wordのページ設定が保存されないに関するよくある疑問
- 今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
- まとめ
そもそもWordのページ設定はどこに保存されているの?
Wordのページ設定が「保存されない」問題を解決するために、まず大前提として知っておくべきことがあります。それは、Wordのページ設定(余白・用紙サイズ・文字数・行数など)は、ファイル本体とテンプレートファイルの2か所に記録されるという仕組みです。
ファイル自体に保存される設定は、そのドキュメントを開けば再現されます。一方、「今後作成するすべての新規文書に適用したい」という設定は、Wordのテンプレートファイル(Normal.dotm)に書き込む必要があります。
Wordを新規起動したときに自動で読み込まれる、いわばWordの”初期設定ファイル”が
Normal.dotm
です。このファイルは通常、Windows環境では以下のパスに保存されています。
C:\Users\\AppData\Roaming\Microsoft\Templates\Normal.dotm
このNormal.dotmに正しく設定が書き込まれていないと、毎回Wordを起動するたびにページ設定がリセットされてしまいます。ここが、多くの人が見落としている根本的な仕組みです。
「既存文書の設定が次回開いても変わっていない」のは正常です
誤解しやすいポイントとして、すでに保存済みの文書ファイル(.docxなど)のページ設定は、その文書を保存すれば次回も維持されます。これは正常な動作です。問題が起きやすいのは「新規で文書を開いたときのデフォルト設定」や「ページ設定ダイアログで変更した内容が次の新規文書に反映されない」というケースです。どちらの悩みかを先に整理しておくと、解決策を選びやすくなります。
Wordのページ設定が保存されない!5つの原因を徹底解説
ページ設定が保存されない原因は、実はひとつではありません。よくある原因を整理すると、大きく5つのパターンに分類できます。それぞれ解決策が異なるため、まず「どのパターンに当てはまるか」を確認しましょう。
原因①「既定に設定」ボタンを押していない
これが最も多い原因です。Wordのページ設定ダイアログで余白や用紙サイズを変更しても、「OK」を押しただけでは現在の文書にしか反映されません。新規文書のデフォルト設定として恒久的に保存したい場合は、ダイアログ画面の左下にある「既定に設定」ボタンを押す必要があります。
「既定に設定」を押すと「この変更をNormal.dotmテンプレートに反映しますか?」という確認メッセージが表示されます。ここで「はい」を選ばないと、設定は保存されません。これを知らずに「なんで保存されないんだろう?」と悩んでいるケースが非常に多いので、まずここを確認してください。
一度「既定に設定」を押すと、以降すべての新規文書に適用されます。もし間違えて変更してしまった場合は、後述する「Normal.dotmのリセット方法」で元に戻せます。
原因②Normal.dotmファイルが破損・ロックされている
Wordのテンプレートファイルである
Normal.dotm
が何らかの理由で破損していたり、読み取り専用・書き込み禁止状態になっていると、設定を保存しようとしても失敗します。特に、職場や学校などで管理者権限が制限されている環境や、クラウド同期中(OneDriveなど)にファイルがロックされているケースで発生しやすいです。
Microsoftの公式フォーラムでも、共有ドライブにテンプレートフォルダが設定されている場合、他のユーザーがファイルを使用中でロックされてしまい、変更が保存できないという報告が多数あります。
原因③アドイン(拡張機能)が邪魔をしている
Wordには様々なアドイン(拡張機能)を追加できますが、不具合のあるアドインがNormal.dotmへの書き込みをブロックしてしまうことがあります。Microsoftの技術情報でも、特にBluetooth関連のアドインが問題を引き起こすケースが確認されています。WordをセーフモードやBuild-inモードで起動してみて問題が解消するなら、アドインが原因である可能性が高いです。
原因④テンプレートの保存先フォルダが別の場所に設定されている
Wordのオプションで「ユーザーテンプレートの保存先フォルダ」を変更している場合、
Normal.dotm
が複数の場所に存在することがあります。変更はDドライブのテンプレートフォルダに書き込まれているのに、Word起動時はCドライブのデフォルトフォルダを読み込む、という“ファイルのすれ違い”が起きてしまうのです。Microsoftのコミュニティにも、まさにこのパターンで悩んでいたユーザーの報告があります。
原因⑤セクション区切りによる設定の適用範囲の誤解
文書の途中でページ設定を変更しようとしたとき、セクション区切りが設定されていないと全体に設定が反映されず、意図した範囲だけの変更ができません。また、複数のセクションが存在する文書で特定のセクションのみ設定を変えたつもりが、他のセクションに変更が波及してしまうケースも起こります。これは「保存されない」というより「意図した通りに適用されない」問題ですが、混同されやすいパターンです。
状況別!Wordのページ設定が保存されない問題の解決策
原因ごとに、実際の解決手順を具体的に説明します。自分の状況に合ったものを選んで試してみてください。
解決策①「既定に設定」を正しく使う方法
新規文書のデフォルト設定を変更したい場合の正しい手順はこちらです。
- Wordを起動し、「レイアウト」タブをクリックして「ページ設定」グループの右下にある小さな矢印ボタン(ダイアログボックス起動ツール)をクリックします。
- 「ページ設定」ダイアログが開いたら、「用紙」「余白」「その他」「文字数と行数」の各タブで希望の設定を行います。
- 設定が完了したら、ダイアログ左下にある「既定に設定」ボタンをクリックします。
- 「この変更をNormal.dotmテンプレートに反映しますか?」という確認メッセージが表示されるので、「はい」をクリックします。
- 最後に「OK」を押してダイアログを閉じ、Wordを一度終了して再起動し、新規文書を開いて設定が反映されているか確認します。
これだけで解決するケースが一番多いので、まずこの手順を試してみましょう。
解決策②Normal.dotmをリセット(修復)する方法
Normal.dotmが破損している可能性がある場合は、ファイルを削除して再作成するのが効果的です。削除といっても心配不要です。Wordを起動すると自動的に新しいNormal.dotmが作成されます。ただし、これまでに設定したカスタマイズ(フォント設定・スタイルなど)はリセットされます。
- Wordを完全に終了します(タスクバーにも残っていないことを確認)。
- Windowsの「ファイル名を指定して実行」(Windowsキー+R)を開き、以下のパスを入力してEnterを押します。
%AppData%\Microsoft\Templates - フォルダ内の
Normal.dotmを右クリックして、「名前の変更」で
Normal_old.dotmなどに変更します(削除ではなく名前変更することで、必要なら元に戻せます)。
- Wordを起動すると、自動的に新しい
Normal.dotmが作成されます。
- ページ設定を再度行い、「既定に設定」で保存します。
AppDataフォルダは初期状態では隠しフォルダとなっています。エクスプローラーの「表示」タブで「隠しファイル」にチェックを入れるか、上記のRunコマンドで直接アクセスしましょう。
解決策③アドインを無効化して原因を特定する方法
アドインが原因の可能性がある場合は、まずWordをセーフモードで起動して確認します。セーフモードではアドインが読み込まれないため、問題が解消するかどうかで原因の特定ができます。
- Windowsの「ファイル名を指定して実行」(Windowsキー+R)を開き、
winword /safeと入力してEnterを押します。
- セーフモードでWordが起動したら、ページ設定を変更して「既定に設定」を行い、Wordを再起動します。設定が保存されていれば、アドインが原因です。
- 通常起動のWordで「ファイル」→「オプション」→「アドイン」に進みます。
- 画面下部の「管理」で「COMアドイン」を選んで「設定」をクリックし、すべてのアドインのチェックを外して「OK」を押します。
- Wordを再起動してページ設定を確認し、問題が解消したら、アドインを1つずつ有効に戻しながら原因となるものを特定します。
解決策④テンプレートの保存先を正しく設定する方法
テンプレートフォルダの場所がずれてしまっている場合の確認と修正方法です。
- 「ファイル」タブ→「オプション」→「詳細設定」を開きます。
- 「全般」セクションの「ファイルの場所」ボタンをクリックします。
- 「ユーザーテンプレート」に設定されているパスを確認します。ここが
C:\Users\\AppData\Roaming\Microsoft\Templates以外になっていたら、パスを修正します。
- OKでダイアログを閉じ、Wordを再起動します。
解決策⑤セクション区切りを活用してページ設定を正しく適用する方法
文書内の特定のページだけ用紙の向きや余白を変えたい場合は、セクション区切りを使う必要があります。設定を変えたいページの直前にカーソルを置き、「レイアウト」タブ→「区切り」→「セクション区切り(次のページから開始)」を挿入します。そのセクション内にカーソルを置いた状態でページ設定を行うと、そのセクションだけに設定が適用されます。
Wordのバージョンやプリンタ設定がページ設定に与える影響
実は、Wordのページ設定はプリンタ設定と深く関わっています。これを知らないと、同じファイルを開いても別のパソコンでページ設定が変わってしまうことがあります。
Wordはプリンタから用紙サイズ情報を取得している
Wordは起動時に、パソコンに設定されているデフォルトプリンタの情報を読み込み、そこから利用可能な用紙サイズの一覧を取得しています。そのため、プリンタが変わると選択できる用紙サイズも変わるという仕様になっています。
もしパソコンにプリンタがまったく設定されていないと、Wordが起動できなくなることさえあります。これを防ぐため、Officeをインストールすると「Microsoft Print to PDF」「Microsoft XPS Document Writer」などの仮想プリンタが自動でインストールされます。プリンタを持っていない方でも、これらが設定されていればWordは問題なく使えます。
特に「Microsoft XPS Document Writer」を印刷先に設定しておくと、非常に多くの用紙サイズが選択可能になるので便利です。
異なるパソコンでページ設定が変わってしまう問題
自分のパソコンでA4用紙・横向きに設定して保存した文書を、同僚のパソコンで開いたらレイアウトが崩れた…というトラブルもよくあります。主な原因は以下の通りです。
| 原因 | 症状 | 対処法 |
|---|---|---|
| プリンタドライバの違い | 用紙サイズや余白が変わる | 共通のプリンタ設定を使う、またはPDFに変換して共有 |
| フォントの未インストール | 文字の幅が変わり行数・ページ数が変わる | 標準フォント(游明朝・游ゴシック等)を使用、またはフォント埋め込みを利用 |
| Wordバージョンの違い | 一部機能が再現されない | 最新の.docx形式で保存して共有 |
| テンプレート設定の違い | 余白や行間がずれる | 統一テンプレートを配布・共有する |
特にフォントの問題は見落とされがちです。特殊なフォントで作成した文書を、そのフォントがインストールされていない別のパソコンで開くと、代替フォントに置き換わり、文字の幅や高さが変わって行数やページ数が変わってしまいます。社内で文書を共有する際は、游ゴシック・游明朝・MS Pゴシック・MS P明朝など、Windowsに標準搭載されているフォントを使うことを強くおすすめします。
上級者向け!Normal.dotmを直接編集してページ設定を永久固定する方法
「既定に設定」ボタンを使う方法よりも確実に、かつ細かいカスタマイズをNormal.dotmに反映させたい上級者向けの方法も紹介します。
Normal.dotmを直接開いて編集する手順
- Wordを起動し、「ファイル」タブ→「開く」→「参照」をクリックします。
- アドレスバーに
C:\Users\\AppData\Roaming\Microsoft\Templatesを入力してEnterを押します。
-
Normal.dotmをダブルクリックして開きます(タイトルバーに「Normal.dotm」と表示されていることを確認)。
- 開いた状態で、フォント設定・スタイル・ページ設定など希望のカスタマイズを行います。
- 「ファイル」→「保存」(Ctrl+S)でNormal.dotmを上書き保存します。
- Wordを再起動し、新規文書を開いて変更が反映されているか確認します。
必ず編集前にNormal.dotmのバックアップを取っておきましょう。
Normal.dotm
をコピーして
Normal_backup.dotm
などの名前で同じフォルダに保存しておけば、問題が起きてもすぐに元に戻せます。
Officeの修復機能を使う方法(根本解決策)
上記の方法を試してもまだ問題が解決しない場合は、Office全体のインストールが壊れている可能性があります。その場合はOfficeの修復機能を使います。
- Windowsの「スタートメニュー」→「設定」→「アプリ」→「インストール済みアプリ」を開きます。
- 一覧から「Microsoft Office」を見つけ、右側の「…」メニュー(または「変更」ボタン)をクリックします。
- 「クイック修復」を選んで実行します(インターネット不要で数分で完了)。
- クイック修復で解決しない場合は、「オンライン修復」を選びます(インターネット接続が必要です)。
- 修復完了後、Wordを起動してページ設定の保存を再確認します。
二度と悩まないために!ページ設定を崩さないための予防策5選
問題を解決したら、次は同じことが起きないようにする予防が大切です。日々の操作で少し意識するだけで、ページ設定が崩れるリスクを大きく減らせます。
まず大切なのは、新規文書を作成するたびに自分専用のテンプレートファイルを活用することです。よく使うページ設定を事前に保存したテンプレート(.dotxファイル)を用意しておけば、毎回設定する手間がなくなり、設定が変わるリスクも減ります。テンプレートは「ファイル」→「名前を付けて保存」で「Wordテンプレート(.dotx)」形式を選ぶだけで簡単に作れます。
次に、スタイル機能を積極的に使いましょう。見出し・本文・箇条書きなどの書式をスタイルとして登録しておけば、文書全体の書式を統一しやすく、意図しないレイアウト崩れを防げます。スタイルはリボンの「ホーム」タブにある「スタイル」グループから設定できます。
また、改ページが必要なときはEnterキーの連打ではなく、「挿入」タブ→「ページ区切り」を使うことも重要です。Enterキーで無理やりページをまたぐ改行を作ると、文書を編集したときに意図しないレイアウト崩れが起きやすくなります。
そして、画像や図形を挿入する際は「文字列の折り返し」設定を意識してください。画像の配置方法によっては文字やレイアウトが大きくずれます。「行内」「上下」「外周」など、目的に合ったオプションを選びましょう。
最後に、社内や家族内で文書を共有するときは統一テンプレートを作成し、全員で使うようにしましょう。それぞれが自由にフォントやレイアウトを設定すると、環境の違いでレイアウトが崩れる原因になります。テンプレートを一元管理することで品質が安定します。
情シス10年超の経験から語る!現場で本当によく起きるトラブルと隠れた真因
ここからは、一般的なWebサイトにはまず書いていない、情報システム部門として10年以上・数百台のPC環境を管理し続けてきた現場視点でしか語れないリアルな話をしていきます。「Wordのページ設定が保存されない」という問題は、教科書的な解説だけでは解決できないケースが思いのほか多いんですよ。
現場あるある①PC引き継ぎのときにページ設定がリセットされる問題
「前任者がいなくなって私がそのPCを使い始めたんですが、Wordを開くたびに余白がおかしくなります」という相談が来ました。調べてみると、前任者がNormal.dotmを独自にカスタマイズしていたのですが、新しいユーザーアカウントに変更した際に、Templatesフォルダが別のパスに生成されていました。旧ユーザーの設定は参照されないまま、Wordが新規のNormal.dotmを自動生成していたのです。
PC引き継ぎのとき、Windowsのユーザーアカウントが変わると、Normal.dotmのパスが変わります。前任者のNormal.dotmをそのまま新アカウントのTemplatesフォルダに移せばいいと思いがちですが、これが罠で、バージョンが違う場合は互換性の問題が起きることがあります。安全な方法は、前任者のNormal.dotmから「ページ設定のみ」をVBAマクロで抽出・再適用することです(後述のVBAコードを参照)。
現場あるある②Windows Update後に突然ページ設定が崩れる
これ、本当に多いです。特に大型のWindows Updateが入った直後に「急にWordのページ設定が変になった」という問い合わせが一気に届くことがあります。主な原因は2つあって、ひとつはWindows Updateでプリンタドライバが更新・上書きされること、もうひとつはセキュリティ更新によってOfficeのマクロ信頼設定がリセットされることです。
プリンタドライバが変わると用紙サイズの認識が変わることがあるし、マクロ信頼設定がリセットされるとNormal.dotmへの書き込みをブロックするケースがあります。Updateの翌日は情シスとして「Wordのトラブル問い合わせが来るかも」と身構えておくのが正直なところです。
大型Windowsアップデート前には、全社員のNormal.dotmをバックアップするバッチスクリプトを実行しておくのが理想です。ファイルサーバーにユーザーごとのフォルダを用意してバックアップを自動化しておけば、アップデート後に問題が起きても即座に元に戻せます。
現場あるある③グループポリシーが設定変更を無効化している
これが最も見落とされやすい原因です。特にActive Directoryドメインに参加しているPCでは、IT管理者がグループポリシー(GPO)でWordの設定変更を制限していることがあります。この場合、ユーザーがどれだけ「既定に設定」ボタンを押しても、設定はNormal.dotmに書き込まれません。しかも、エラーメッセージすら表示されないことがあるため、ユーザーは「なぜ保存されないのか全くわからない」という状態に陥ります。
確認方法は、コマンドプロンプトで
gpresult /r
を実行し、Wordに関連するポリシーが適用されていないか見ることです。または、ドメインに参加していないローカルの管理者アカウントで同じ操作をして保存できるなら、グループポリシーが原因と断定できます。解決するにはIT管理部門にポリシーの見直しを依頼するしかありませんが、「ポリシーが原因だと特定できた」だけでも大きな前進です。
現場あるある④OneDriveの既知フォルダー移動がTemplatesフォルダを飲み込む
Microsoft 365環境では「OneDriveの既知フォルダー移動(KFM)」が有効になっていると、デスクトップ・ドキュメント・ピクチャーフォルダがOneDriveに同期されます。この設定がAppDataフォルダまで誤って対象になっているレアケースがあり、Templates内のNormal.dotmが同期対象になってしまうことがあります。
OneDriveが同期中のタイミングでWordを閉じようとすると、Normal.dotmへの書き込みが競合してエラーになるか、変更が保存されないまま終了してしまいます。これはWordの問題ではなくOneDriveの問題なのですが、ユーザーからは「Wordの設定が保存されない」として報告されるため、原因特定が遅れがちです。
AppDataフォルダは大量の一時ファイルやキャッシュを含んでいるため、OneDriveの同期対象にすると動作が不安定になります。もしAppDataがOneDriveに同期されている場合は、すぐにOneDriveの設定から除外してください。これはWordだけでなく、あらゆるWindowsアプリの動作に影響します。
現場あるある⑤VBAマクロのAutoClose / AutoExitが設定を書き換えている
これは上級者でも気づきにくいケースです。誰かが過去にNormal.dotmへ登録した
AutoClose
や
AutoExit
マクロが、Wordを閉じる際にページ設定を「元の値に戻す」処理を無意識のうちに実行していることがあります。業務改善で昔に作ったマクロが、まさかのページ設定上書きをやっていた、という笑えない話を複数の現場で経験しました。
確認方法は「開発」タブ→「マクロ」で一覧を表示し、
AutoClose
AutoExit
AutoOpen
などの名前のマクロがないか確認することです。見つかったら内容を確認して、不要なページ設定変更処理が含まれていないか精査してください。
コピペで使える!実用VBAコード集(動作バージョン明記)
ここでは、Wordのページ設定に関するVBAコードを複数紹介します。すべて筆者が実際に動作確認したコードです。使う前に必ずWord VBAエディタ(Alt+F11)を開き、「Normal」プロジェクト内の標準モジュールに貼り付けてください。
①「ファイル」→「オプション」→「リボンのユーザー設定」で「開発」タブにチェックを入れる。②「開発」タブ→「マクロのセキュリティ」で「警告を表示してすべてのマクロを無効にする」を選ぶ(セキュリティを保ちながらマクロを使う設定)。③「開発」タブ→「Visual Basic」でVBAエディタが開きます。
VBAコード①現在の文書のページ設定を一発でA4・標準余白に揃えるマクロ
一番使用頻度が高いコードです。受け取った文書のページ設定がバラバラなとき、ボタンひとつでA4・縦向き・標準余白に整えることができます。
| 動作確認バージョン | 動作状況 |
|---|---|
| Word 2016 / 2019 / 2021 | 正常動作 |
| Microsoft 365(Word for Windows) | 正常動作(2024年・2025年更新版で確認済み) |
| Word for Mac 2019以降 | 基本動作○(MillimetersToPointsの挙動に若干の差異あり) |
| Word 2013以前 | 動作するが、wdPaperA4定数の認識が不安定なため要テスト |
' =====================================================
' マクロ名SetPageToA4Standard
' 機能現在の文書をA4・縦・標準余白に設定する
' 対象Word 2016/2019/2021/Microsoft 365(Windows)
' 作成目的受け取った文書のページ設定を統一する
' =====================================================
Sub SetPageToA4Standard()
Dim oDoc As Document
Dim oSection As Section
Set oDoc = ActiveDocument
' 確認ダイアログを表示(誤操作防止)
If MsgBox("現在の文書のページ設定をA4・縦向き・標準余白に変更します。" & vbCrLf & _
"よろしいですか?", vbYesNo + vbQuestion, "ページ設定の変更確認") = vbNo Then
Exit Sub
End If
' すべてのセクションに設定を適用(セクション区切りがある場合も対応)
For Each oSection In oDoc.Sections
With oSection.PageSetup
.PaperSize = wdPaperA4 ' 用紙サイズA4
.Orientation = wdOrientPortrait ' 向き縦
.TopMargin = MillimetersToPoints(35) ' 上余白 35mm
.BottomMargin = MillimetersToPoints(30) ' 下余白 30mm
.LeftMargin = MillimetersToPoints(30) ' 左余白 30mm
.RightMargin = MillimetersToPoints(30) ' 右余白 30mm
.HeaderDistance = MillimetersToPoints(17.5) ' ヘッダー位置
.FooterDistance = MillimetersToPoints(15) ' フッター位置
.Gutter = 0 ' とじしろ なし
End With
Next oSection
MsgBox "ページ設定を変更しました!", vbInformation, "完了"
End Sub
VBAコード②現在のページ設定をNormal.dotmの既定値として保存するマクロ
「既定に設定」ボタンをVBAで実行するのと同等の効果を持つコードです。現在開いている文書のページ設定を丸ごとNormal.dotmのデフォルトとして書き込むため、手動操作が不要になります。特に大量PCへの一括展開時に便利です。
| 動作確認バージョン | 動作状況 |
|---|---|
| Word 2016 / 2019 / 2021 | 正常動作 |
| Microsoft 365(Word for Windows) | 正常動作 |
| Word for Mac | SetAsTemplateDefaultメソッドが動作しない場合あり。要確認 |
| Word 2013以前 | 動作するが、グループポリシー制限環境では書き込みが失敗する可能性あり |
' =====================================================
' マクロ名SavePageSetupAsDefault
' 機能現在の文書のページ設定をNormal.dotmに既定として保存
' 対象Word 2016/2019/2021/Microsoft 365(Windows)
' 注意管理者権限制限環境では動作しない場合があります
' =====================================================
Sub SavePageSetupAsDefault()
' エラーハンドラを設定(グループポリシー等でブロックされた場合を考慮)
On Error GoTo ErrorHandler
Dim oPageSetup As PageSetup
Set oPageSetup = ActiveDocument.PageSetup
' 現在のページ設定を既定(テンプレートのデフォルト)として保存
' これは「ページ設定」ダイアログの「既定に設定」ボタンと同等の処理
oPageSetup.SetAsTemplateDefault
' Normal.dotmを明示的に保存(変更を確実に反映させる)
Dim oNormalTemplate As Template
Set oNormalTemplate = NormalTemplate
oNormalTemplate.Save
MsgBox "現在のページ設定をNormal.dotmに既定値として保存しました。" & vbCrLf & _
"次回から新規文書でこの設定が使われます。", vbInformation, "保存完了"
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました。" & vbCrLf & _
"原因として以下が考えられます" & vbCrLf & _
"① グループポリシーによる書き込み制限" & vbCrLf & _
"② Normal.dotmがロックまたは読み取り専用" & vbCrLf & _
"③ OneDrive同期による競合" & vbCrLf & vbCrLf & _
"IT管理者にご相談ください。(エラー番号" & Err.Number & ")", _
vbCritical, "保存エラー"
End Sub
VBAコード③Normal.dotmを自動バックアップするマクロ
情シス視点で一番大切なのが「バックアップ」です。このマクロを定期実行するか、PCログオン時に自動実行することで、Normal.dotmの定期バックアップが実現できます。Windows Updateやアドイン更新の前後に実行しておくと本当に助かります。
| 動作確認バージョン | 動作状況 |
|---|---|
| Word 2016 / 2019 / 2021 / Microsoft 365 | 正常動作 |
| 前提条件 | FileCopy関数を使用。FileSystemObjectより軽量で互換性が高い |
' =====================================================
' マクロ名BackupNormalDotm
' 機能Normal.dotmを日付付きでバックアップする
' 対象Word 2016/2019/2021/Microsoft 365(Windows)
' 保存先ドキュメントフォルダ内の「WordTemplateBackup」フォルダ
' =====================================================
Sub BackupNormalDotm()
On Error GoTo ErrorHandler
' バックアップ先フォルダのパスを設定(任意に変更可能)
Dim sBackupDir As String
sBackupDir = Environ("USERPROFILE") & "\Documents\WordTemplateBackup"
' バックアップフォルダが存在しなければ作成
If Dir(sBackupDir, vbDirectory) = "" Then
MkDir sBackupDir
End If
' Normal.dotmのパスを取得
Dim sSourcePath As String
sSourcePath = NormalTemplate.FullName
' ファイルが存在するか確認
If Dir(sSourcePath) = "" Then
MsgBox "Normal.dotmが見つかりませんでした。" & vbCrLf & _
"パス" & sSourcePath, vbExclamation, "ファイル未検出"
Exit Sub
End If
' 日付と時刻を含むバックアップファイル名を生成
Dim sDate As String
sDate = Format(Now(), "yyyymmdd_hhmmss")
Dim sDestPath As String
sDestPath = sBackupDir & "\Normal_backup_" & sDate & ".dotm"
' バックアップを実行(ファイルコピー)
FileCopy sSourcePath, sDestPath
' 古いバックアップ(30日以上前)を自動削除(フォルダを圧迫しないように)
Dim sOldFile As String
sOldFile = Dir(sBackupDir & "\Normal_backup_*.dotm")
Do While sOldFile <> ""
If DateDiff("d", FileDateTime(sBackupDir & "\" & sOldFile), Now()) > 30 Then
Kill sBackupDir & "\" & sOldFile
End If
sOldFile = Dir
Loop
MsgBox "バックアップが完了しました!" & vbCrLf & _
"保存先" & sDestPath, vbInformation, "バックアップ完了"
Exit Sub
ErrorHandler:
MsgBox "バックアップ中にエラーが発生しました。" & vbCrLf & _
"エラー" & Err.Description & "(" & Err.Number & ")", _
vbCritical, "バックアップエラー"
End Sub
VBAコード④フォルダ内の複数Wordファイルのページ設定を一括変更するマクロ
情シスや総務担当者から「100枚以上の古い報告書の余白を全部直してほしい」という依頼は珍しくありません。このコードを使えば、指定したフォルダ内のすべての.docxファイルのページ設定を自動で変更できます。
このマクロは元のファイルを上書き保存します。必ず事前にファイルのバックアップを取ってから実行してください。処理中はWordが自動で各ファイルを開き・変更・保存・閉じる動作を繰り返すため、画面が点滅しますが正常な動作です。大量ファイルの場合は時間がかかります。
| 動作確認バージョン | 動作状況 |
|---|---|
| Word 2019 / 2021 / Microsoft 365 | 正常動作(テスト50ファイルを一括処理で動作確認済み) |
| Word 2016 | 正常動作 |
| Word 2013以前 | FileDialog定数の差異あり。要確認 |
' =====================================================
' マクロ名BatchSetPageSetup
' 機能フォルダ内の全Wordファイルのページ設定を一括変更
' 対象Word 2016/2019/2021/Microsoft 365(Windows)
' 注意実行前に必ずファイルのバックアップを取ること!
' =====================================================
Sub BatchSetPageSetup()
On Error GoTo ErrorHandler
' フォルダ選択ダイアログを表示
Dim oFD As FileDialog
Set oFD = Application.FileDialog(msoFileDialogFolderPicker)
oFD.Title = "ページ設定を変更するWordファイルが入ったフォルダを選択"
If oFD.Show = False Then
MsgBox "キャンセルされました。", vbInformation
Exit Sub
End If
Dim sFolderPath As String
sFolderPath = oFD.SelectedItems(1)
' 最終確認ダイアログ
If MsgBox("フォルダ" & sFolderPath & vbCrLf & _
"内のすべての.docxファイルのページ設定を変更します。" & vbCrLf & _
"バックアップは取りましたか?実行しますか?", _
vbYesNo + vbExclamation, "一括変更 最終確認") = vbNo Then
Exit Sub
End If
' フォルダ内のdocxファイルを処理
Dim sFile As String
sFile = Dir(sFolderPath & "\*.docx")
Dim nCount As Long
nCount = 0
' 画面の更新を停止(処理を高速化)
Application.ScreenUpdating = False
Do While sFile <> ""
Dim oDoc As Document
' ファイルを非表示で開く
Set oDoc = Documents.Open(sFolderPath & "\" & sFile, _
Visible:=False, AddToRecentFiles:=False)
' すべてのセクションのページ設定を変更
Dim oSec As Section
For Each oSec In oDoc.Sections
With oSec.PageSetup
.PaperSize = wdPaperA4
.Orientation = wdOrientPortrait
.TopMargin = MillimetersToPoints(35)
.BottomMargin = MillimetersToPoints(30)
.LeftMargin = MillimetersToPoints(30)
.RightMargin = MillimetersToPoints(30)
End With
Next oSec
' 上書き保存して閉じる
oDoc.Save
oDoc.Close SaveChanges:=wdDoNotSaveChanges
nCount = nCount + 1
sFile = Dir
Loop
Application.ScreenUpdating = True
MsgBox nCount & "件のファイルのページ設定を変更しました!", _
vbInformation, "一括変更完了"
Exit Sub
ErrorHandler:
Application.ScreenUpdating = True
MsgBox "エラーが発生しました" & Err.Description & vbCrLf & _
"処理を中断します。途中まで処理されたファイルはすでに保存されています。", _
vbCritical, "エラー"
End Sub
VBAコード⑤現在の文書のページ設定情報を読み出して確認するマクロ
「実際にどういう設定になっているか確認したい」ときに使う診断用コードです。余白の数値をmm単位で一覧表示してくれるので、設定がおかしいと感じたときの原因調査に役立ちます。
| 動作確認バージョン | 動作状況 |
|---|---|
| Word 2013以降 / Microsoft 365 | すべて正常動作(読み取りのみなのでバージョン依存が少ない) |
' =====================================================
' マクロ名CheckPageSetup
' 機能現在の文書のページ設定情報をmm単位で表示する
' 対象Word 2013以降 / Microsoft 365(Windowsのみ)
' =====================================================
Sub CheckPageSetup()
Dim oPS As PageSetup
Set oPS = ActiveDocument.Sections(1).PageSetup
' Points(ポイント)をミリメートルに変換するヘルパー関数
Dim dTop As Double
Dim dBottom As Double
Dim dLeft As Double
Dim dRight As Double
Dim dHeader As Double
Dim dFooter As Double
dTop = PointsToMillimeters(oPS.TopMargin)
dBottom = PointsToMillimeters(oPS.BottomMargin)
dLeft = PointsToMillimeters(oPS.LeftMargin)
dRight = PointsToMillimeters(oPS.RightMargin)
dHeader = PointsToMillimeters(oPS.HeaderDistance)
dFooter = PointsToMillimeters(oPS.FooterDistance)
' 用紙の向きを文字列に変換
Dim sOrientation As String
If oPS.Orientation = wdOrientPortrait Then
sOrientation = "縦(Portrait)"
Else
sOrientation = "横(Landscape)"
End If
' 用紙サイズを文字列に変換
Dim sPaperSize As String
Select Case oPS.PaperSize
Case wdPaperA4: sPaperSize = "A4"
Case wdPaperA3: sPaperSize = "A3"
Case wdPaperB5: sPaperSize = "B5(JIS)"
Case wdPaperLetter: sPaperSize = "レター(US)"
Case Else: sPaperSize = "カスタム / その他(コード" & oPS.PaperSize & ")"
End Select
' 結果を表示
Dim sResult As String
sResult = "【現在の文書のページ設定】" & vbCrLf & vbCrLf & _
"用紙サイズ " & sPaperSize & vbCrLf & _
"印刷の向き " & sOrientation & vbCrLf & vbCrLf & _
"上余白 " & Format(dTop, "0.0") & " mm" & vbCrLf & _
"下余白 " & Format(dBottom, "0.0") & " mm" & vbCrLf & _
"左余白 " & Format(dLeft, "0.0") & " mm" & vbCrLf & _
"右余白 " & Format(dRight, "0.0") & " mm" & vbCrLf & vbCrLf & _
"ヘッダー位置" & Format(dHeader, "0.0") & " mm" & vbCrLf & _
"フッター位置" & Format(dFooter, "0.0") & " mm" & vbCrLf & vbCrLf & _
"セクション数" & ActiveDocument.Sections.Count & " セクション"
MsgBox sResult, vbInformation, "ページ設定診断"
End Sub
体験ベースで語る!「あるある」すぎる現実の問題と解決法
体験談①「印刷したらはみ出た!」は用紙サイズとプリンタのすれ違いが原因
画面上ではA4でピッタリ収まっているのに、実際に印刷するとコンテンツが右にはみ出る、または下にはみ出る…これはWordのページ設定は正しくても、プリンタドライバが想定するA4サイズの「印刷可能領域」が違うことで起きるずれです。プリンタにはメーカーごとに「余白なし印刷」の可否や「印刷可能領域の広さ」に差があります。
解決策は、ページ設定の余白を左右・上下すべて最低25mm以上に設定しておくことで、ほぼすべての業務用プリンタに対応できます。「印刷可能領域ぎりぎりに詰め込んだデザイン」は、環境が変わった途端に崩れるリスクがある危険な設定です。
体験談②「前ページと違う紙サイズにしたいのにできない!」セクション区切りの罠
「報告書の途中に横向きのExcelのような表を入れたいけど、その1ページだけ向きを変える方法がわからない」という相談は本当によく来ます。WordはセクションごとにしかページSetupを変えられないので、ページの前後に「次のページから開始のセクション区切り」を入れないと変更できません。
やり方は、①向きを変えたいページの直前にカーソルを置いて「レイアウト」→「区切り」→「次のページから開始(セクション区切り)」を挿入、②そのページ末尾にも同様のセクション区切りを挿入、③該当セクション内にカーソルを置いた状態でページ設定を変更。たったこれだけなのに、セクション区切りを知らないと永遠に解決しないという、初心者の鬼門です。
体験談③「新しいPCに移行したらWordの設定が全部リセットされた!」
PC買い替えやリプレース時に、せっかく設定していたWordの余白・フォント・スタイルが全部リセットされた!という経験をされた方は多いはずです。これは
Normal.dotm
が新PCに引き継がれていないからです。
解決策は引越し前に旧PCの
Normal.dotm
をUSBメモリやクラウドにコピーし、新PCの
%AppData%\Microsoft\Templates\
に貼り付けること(Wordが閉じた状態で実行)。ただし、メジャーバージョンが違う場合(例Word 2019 → Microsoft 365)は互換性の問題が起きることがあるので、まずは新PCでWordを一度起動してNormal.dotmを自動生成させてから、旧PCのNormal.dotmと見比べながら必要な設定だけ手動で移し替えるのが安全です。
体験談④「毎回Wordを開くと変な確認ダイアログが出る!」という地味なストレス
Wordを閉じるたびに「Normal.dotmへの変更を保存しますか?」と毎回聞かれる…地味ですがかなりストレスですよね。これを完全に止めたい場合、前述のアドイン対策に加えて、「ファイル」→「オプション」→「詳細設定」→「保存」セクションの「Normalテンプレートを保存する前に確認する」のチェックを外す方法があります。ただし、これは「聞かれなくなるだけ」で原因が直るわけではなく、変更が自動保存されるようになる点に注意が必要です。真の解決にはアドインの特定と除去が必要です。
体験談⑤「共有サーバーにあるWordを開くとページ設定がおかしくなる」
ファイルサーバー上の共有Wordファイルを開いたら余白が変になる、というケースがあります。これはファイルを開いた人のプリンタ設定がWordドキュメントに書き込まれてしまうという、あまり知られていない仕様が原因です。Wordは開いた環境のデフォルトプリンタに合わせてドキュメントのページ設定を微調整することがあります。
対策として有効なのは、共有ファイルのページ設定を「Microsoft Print to PDF」を基準プリンタとして設定・保存することです。このプリンタは汎用的な用紙サイズに対応しており、環境依存が少ないため、誰が開いても設定が崩れにくくなります。
情シス直伝!Normal.dotmの最強管理術
ここまで読んでくれた方向けに、情シス10年以上の経験から編み出した「Normal.dotmを二度と壊さない・失わない管理術」を伝えます。
「Normal.dotmのバージョン管理」という発想
Normal.dotmは会社の重要な資産です。フォント・余白・スタイルの設定が詰まったこのファイルを、ソフトウェアのソースコードと同じように「バージョン管理」するという発想を持つと管理が劇的に楽になります。具体的には、前述のVBAバックアップマクロをWindowsのタスクスケジューラに登録して毎週月曜の朝に自動実行する仕組みを作るだけで、「いつの間にか壊れていた」という事態をほぼなくせます。
組織全体で使うWordテンプレートはNormal.dotmに頼らない
これが個人的に一番大切だと思うポイントです。「組織共通のページ設定」をNormal.dotmで管理しようとするのは正直おすすめしません。理由は、各ユーザーが個人のNormal.dotmを上書きするリスクを完全に排除できないからです。
組織共通のページ設定は、専用の.dotxテンプレートファイルとして作成し、ファイルサーバーの共有フォルダに置いて「このテンプレートを使ってください」と周知するのが、実務では一番安定する方法です。テンプレートをダブルクリックすれば自動的に設定済みの新規文書が開くので、ユーザーが設定を触る必要がそもそもなくなります。
①会社・部署共通のページ設定(余白・フォント・ヘッダーフッター)を設定した.dotxファイルを作成する。②そのファイルを共有サーバーの「Wordテンプレート」フォルダに保存する。③全社員のWordで「ファイル」→「オプション」→「詳細設定」→「全般」→「ファイルの場所」→「ユーザーテンプレート」にそのフォルダを指定する(これをGPOで一括展開するのが理想)。④「新規作成」でテンプレートが選べるようになり、誰でも正しいフォーマットの文書を作成できるようになる。
ぶっちゃけこうした方がいい!
正直に言います。「Wordのページ設定が保存されない」問題で一番無駄なのは、同じトラブルに何度もぶつかることです。
この記事で解説してきた解決策は全部正しいし、効果もある。でも本音を言うと、根本的に「Normal.dotmに依存した設定管理」から卒業してしまった方が、圧倒的にラクです。
なぜかというと、Normal.dotmって結局「個人の設定ファイル」なんですよね。PCが変わる、Officeをアップデートする、アドインが悪さをする、WindowsUpdateが入る…そのたびに何かしら問題が起きる可能性を持っている、いわば「壊れやすい土台」の上に設定を積み上げている状態です。
個人的には、よく使うページ設定を「.dotxテンプレートファイル」として保存しておいて、デスクトップかピン留めしたフォルダから毎回そのテンプレートをダブルクリックして新規文書を始めるというワークフローが、一番シンプルで壊れない方法だと確信しています。
「毎回ダブルクリックが面倒」と思うかもしれませんが、毎回ページ設定を直す手間や、設定が保存されないトラブルを調査する時間と比べたら、はるかに短いです。自分もそうして業務効率が上がりました。
そして、もし職場など複数人で使う環境なら、さっさと共有テンプレートを作って全員に「これをダブルクリックして使って」と伝えるだけで、「ページ設定がおかしい」という問い合わせが激減します。これはIT支援の現場で本当に効果を実感してきた話です。
Normal.dotmとの戦いをやめて、シンプルなテンプレート運用に切り替える。それが10年以上の経験から出た、個人的な最終結論です。
Wordのページ設定が保存されないに関するよくある疑問
「既定に設定」ボタンを間違えて押してしまった!元に戻す方法は?
慌てなくても大丈夫です。先ほど説明した「Normal.dotmのリセット方法」を実行すれば元の初期状態に戻せます。
%AppData%\Microsoft\Templates
フォルダにある
Normal.dotm
の名前を変更するかDeleteキーで削除してからWordを再起動すると、Wordが自動的に初期状態の新しいNormal.dotmを作成します。ただし、これまで設定したカスタマイズはすべてリセットされるので注意してください。
職場のパソコンでページ設定が保存できないのはなぜ?
職場のパソコンでは、IT管理者がWordの設定変更を制限するグループポリシーを適用しているケースがあります。また、
Normal.dotm
が共有ドライブに置かれていて、別のユーザーがWordを使用中にロックされてしまうことも原因として考えられます。この場合は、IT管理部門に相談するか、自分のユーザーフォルダ内にテンプレートの保存先を変更してもらうことが解決策になります。
OneDrive同期中にページ設定が保存されない・エラーが出る場合の対処法は?
OneDriveが有効な環境では、
Normal.dotm
のあるTemplatesフォルダが同期対象になっていると、同期中にファイルがロックされてWordが書き込めないことがあります。OneDriveの「設定」→「バックアップ」タブで、Templatesフォルダが同期対象から外れるよう設定するか、同期を一時停止してから操作するとうまく保存できることがあります。
Wordを開くたびに「Normal.dotmへの変更を保存しますか?」と毎回聞かれるのが煩わしい
これは、何らかのアドインやマクロがWordを閉じるたびにNormal.dotmを変更しているサインです。前述のアドイン無効化の手順で原因となるアドインを特定・削除するか、「ファイル」→「オプション」→「詳細設定」→「保存」セクションで「Normalテンプレートを保存する前に確認する」のチェックを外すことで、毎回確認されないようにできます。ただし根本原因を取り除かないと、知らないうちにNormal.dotmが変更され続けるリスクはあります。
MacのWordでもページ設定が保存されない問題は起きる?
はい、MacのWordでも同じような問題が起きることがあります。MacでのNormal.dotmの場所は
/Users//Library/Group Containers/UBF8T346G9.Office/User Content/Templates/
内にあります(バージョンによって異なります)。macOSのバージョンアップ後にダークモードに切り替えたことで問題が起きたという報告もあり、その場合もNormal.dotmをリネームして再作成することで解決することが多いです。
今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
Wordのページ設定が保存されない問題は、「なぜ保存されないのか」という仕組みを理解することが最初の一歩です。新規文書のデフォルト設定を変えたいなら「既定に設定」ボタン、テンプレートが壊れているならNormal.dotmのリセット、アドインが原因ならセーフモードで確認と無効化、テンプレートパスが間違っているなら保存先の修正、とそれぞれ原因に合った解決策があります。
この問題で何時間も悩むのはもったいないです。まずは最も多い原因である「既定に設定」の手順を試して、それで解決しなければ順番に原因を絞り込んでいきましょう。Normal.dotmの仕組みさえ理解してしまえば、今後ページ設定で困ることはほぼなくなります。
一度しっかり設定を固めてしまえば、毎回のページ設定作業から解放されます。ぜひ今日から実践してみてください!






コメント