【解決策】Officeで印刷時に「機能アドレスが保護違反を引き起こしました」エラーが出る原因と対処法
Word、Excel、PublisherなどのOfficeアプリケーションから印刷しようとした際に、「機能アドレスが保護違反を引き起こしました(Function Address Caused a Protection Fault)」というエラーメッセージが表示され、まったく印刷できないという相談が多く寄せられています。
興味深いことに、このエラーは通常の方法(他のアプリケーションなど)から印刷する場合には発生せず、Officeアプリケーション内から印刷操作を行ったときにのみ現れるという報告がほとんどです。また、この問題は特定のWindowsバージョンに限定されたものではなく、Windows 7、Windows 8.1、Windows 10のいずれでも発生することが確認されています。

「機能アドレスが保護違反を引き起こしました」エラーの主な原因
私たちは多数のユーザー報告と、実際に問題の解決に成功した修復手法を調査しました。その結果、このエラーメッセージを引き起こす可能性があるシナリオは複数存在することが判明しています。考えられる主な原因は以下の通りです。
- 正しいプリンターが既定に設定されていない - 最も一般的な原因の一つです。使用したいプリンターがOS上で既定の印刷デバイスとして設定されていない状態でOfficeから印刷すると、このエラーが発生することがあります。この場合は、プリンターのプロパティ画面から正しいプリンターを既定に設定することで解決できます。
- プリンタードライバーが大幅に古い - プリンタードライバーが古い、または使用中のWindowsバージョンと互換性がない場合(OSの移行後などによく発生)にも、このエラーが起こる可能性があります。このシナリオに該当する場合は、デバイスマネージャー経由で自動的に、またはメーカーの公式サイトから手動でドライバーを最新版に更新することで解決できるはずです。
- 破損したプリンター関連のレジストリサブキー - ネットワーク上のすべてのプリンターで問題が発生している場合は、プリンター関連のレジストリサブキーが破損している可能性が高いです。この場合は、現在のドライバーを削除し、ネットワークプリンターを再登録して、ドライバーを最新版に更新することで問題を解決できます。
- システムファイルの破損 - 発生頻度は低いものの、これも原因になり得ます。多くの場合、セキュリティスキャンによって印刷サービスが必要とするファイルが隔離された後に発生します。このケースでは、システムの復元を使ってPCを正常な状態に戻すことができます。
同じエラーメッセージにお困りの方は、この記事で紹介するトラブルシューティング手順に従って、問題の特定と適切な修正を試してみてください。以下で紹介する各対処法は、少なくとも一人のユーザーによって効果が確認済みのものです。
効率よく問題を解決するために、紹介する順番どおりに方法を試すことをおすすめします。そうすることで、お使いの環境での根本的な原因に関係なく、必ず有効な解決策に行き着くはずです。
それでは始めましょう!
方法1:既定のプリンターを変更する
この問題は、使用したいプリンターがWindowsの設定で既定として設定されていない場合にも発生することがあります。実際に、OSの設定を開いて正しいプリンターを既定に設定することで問題を解決できたという報告が多数あります。
もちろん、手順はWindowsのバージョンによって異なります。お使いのOSバージョンに対応した手順に従ってください。
Windows 10で既定のプリンターを変更する手順
- Windowsキー + R を押して「ファイル名を指定して実行」ダイアログを開きます。「ms-settings:printers」と入力し、Enterキーを押して設定アプリの「プリンターとスキャナー」画面を開きます。

- 「プリンターとスキャナー」画面内で右側のペインに移動し、使用したいプリンターを選択して、表示されたコンテキストメニューから「既定として設定」をクリックします。

- 正しいプリンターを既定に設定したら、パソコンを再起動し、次回起動時にエラーが発生しなくなったかどうかを確認します。
Windows 7 / 8.1で既定のプリンターを変更する手順
- Windowsキーを押してスタートメニューを開き、メニュー右側のセクションにある「デバイスとプリンター」をクリックします。

注意: 代わりにコントロールパネルを開き、手動で「デバイスとプリンター」画面に移動することもできます。 - 「デバイスとプリンター」画面内で、既定に設定したいプリンターを右クリックし、表示されたメニューから「通常使うプリンターに設定」を選択します。

- パソコンを再起動し、次回のシステム起動時に問題が解決したかどうかを確認します。
再起動後も同じ問題が続く場合は、次の方法に進んでください。
方法2:プリンタードライバーを最新版に更新する
サードパーティ製アプリケーションから印刷しようとしたときにこのエラーが表示されるもう一つの原因は、プリンタードライバーが古いことです。同じエラーに悩まされていた何人かのユーザーが、デバイスマネージャーを使って自動更新するか、手動でドライバーを更新することにより、問題を解決しています。
それでは、プリンタードライバーを最新バージョンに更新する手順をご紹介します。
- Windowsキー + R を押して「ファイル名を指定して実行」ダイアログを開きます。テキストボックスに「devmgmt.msc」と入力し、Enterキーを押してデバイスマネージャーを開きます。

- デバイスマネージャー内でインストール済みデバイスの一覧を下にスクロールし、「印刷キュー」のドロップダウンメニューを展開します。次に、問題が発生しているプリンターを右クリックし、表示されたコンテキストメニューから「ドライバーの更新」を選択します。

- 次の画面で「ドライバーソフトウェアの最新版を自動検索」をクリックします。スキャンが完了するまで待ちましょう。新しいドライバーバージョンが見つかった場合は、画面の指示に従ってダウンロードとインストールを行い、その後パソコンを再起動してください。

- 再起動後に問題が解決したかどうかを確認します。同じエラーがまだ表示される場合や、デバイスマネージャーで新しいバージョンが見つからなかった場合は、手動で新しいドライバーをインストールしてみてください。そのためには、プリンターの製造元公式サイトにアクセスし、利用可能な最新のドライバーをダウンロードしてインストールします。

- インストールが完了したらパソコンを再起動し、次回のシステム起動時に問題が解決したかどうかを確認します。
それでも「機能アドレスが保護違反を引き起こしました」エラーが表示される場合や、上記の手順がお使いの状況に当てはまらない場合は、次の方法に進みましょう。
方法3:ドライバーの削除と印刷関連サブキーの削除(該当する場合)
「機能アドレスが保護違反を引き起こしました」エラーに対するもう一つの人気のある解決策は、関係するすべてのマシンから現在のドライバーを完全に削除し、更新済みのドライバーでネットワークプリンター全体を再セットアップし直すことです。もちろん、このシナリオが適用されるのは、複数のマシンで同様の問題が広範囲に発生している場合のみです。
以下の手順はWindows 8.1およびWindows 10でも実行可能ですが、効果が確認できたのはWindows 7のみです。この修正を試したい方は、プリンタードライバーを完全に削除して更新済みドライバーを再インストールするための簡単なガイドをご覧ください。
- 問題が発生しているパソコンにログインします。
- Windowsキー + R を押して「ファイル名を指定して実行」ダイアログを開きます。「devmgmt.msc」と入力してEnterキーを押し、デバイスマネージャーを開きます。

- デバイスマネージャー内でインストール済みデバイスの一覧をたどり、「印刷キュー」のドロップダウンメニューを展開します。次に、削除したいプリンタードライバーを右クリックして「デバイスのアンインストール」を選択し、再度「アンインストール」をクリックして操作を確定します。

注意: この手順が完了したら、デバイスマネージャーは安全に閉じて構いません。 - Windowsキー + R をもう一度押して「ファイル名を指定して実行」ダイアログを開きます。今度は「printui.exe /s /t2」と入力してEnterキーを押し、「プリントサーバーのプロパティ」画面を開きます。

- 「プリントサーバーのプロパティ」画面内で「ドライバー」タブに移動し、問題の原因となっているドライバーを選択します。ドライバーを選択した状態で「削除」ボタンをクリックします。

- 「ドライバーとパッケージの削除」というプロンプトが表示されます。このウィンドウが表示されたら、「ドライバーのみ削除」のラジオボタンを選択して「OK」をクリックします。

- 処理が完了したら、「プリントサーバーのプロパティ」画面を安全に閉じることができます。
- Windowsキー + R をさらに一度押して「ファイル名を指定して実行」ダイアログを開きます。今度はテキストボックスに「regedit」と入力し、Enterキーを押してレジストリエディターを開きます。「UAC(ユーザーアカウント制御)」ウィンドウが表示されたら、「はい」をクリックして管理者権限を付与します。

- レジストリエディター内で、左側のメニューを使って以下のサブキーへ移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\
注意: 場所をナビゲーションバーに直接貼り付けてEnterキーを押せば、一瞬で目的の場所に移動できます。 - 目的の場所に到着したら、既存のサブキーやキーに「.old」という拡張子を付けてリネームしていきます。これにより、Windowsはそれらのキーを無視し、代わりに新しいフォルダと値を作成するようになります。

注意: 私たちの場合、サブキーは1つだけ(winprint)だったので、「winprint.old」という名前に変更しました。 - この手順が完了したら、レジストリエディターを安全に閉じて構いません。
- Windowsキー + R をもう一度押して「ファイル名を指定して実行」ダイアログを開きます。今度は「services.msc」と入力してEnterキーを押し、「サービス」ウィンドウを開きます。

- サービス画面内でサービスの一覧を下にスクロールし、「Print Spooler(プリント スプーラー)」サービスを見つけます。発見したら、そのサービスを右クリックして、表示されたコンテキストメニューから「再起動」を選択します。

- パソコンをもう一度再起動し、次回の起動時に必要なプリンタードライバーを再インストールします。
- Officeアプリケーション内から印刷を試みても、「機能アドレスが保護違反を引き起こしました」エラーがまだ表示されるかどうかを確認します。
それでも同じエラーが続く場合は、次の方法に進みましょう。
方法4:システムの復元ポイントを使用する
このエラーが最近になって突然発生するようになったことに気づいた場合は、最近システムに加えられた何らかの変更が原因である可能性が十分にあります。
何が変更されてOfficeアプリケーションの印刷機能が壊れたのか見当もつかない場合は、「万能薬」となる解決策として、システムの復元を使ってプリンターが正常に動作していたことが確実な日付まで時間を巻き戻す方法があります。この方法は、「機能アドレスが保護違反を引き起こしました」エラーの解決に苦戦していた多くのユーザーによって効果が確認されています。
重要: この処理を行うと、マシンは復元ポイントが作成された時点の正確な状態に戻されます。つまり、その期間中に行われたアプリケーションのインストール、ユーザー設定などの変更はすべて失われることに注意してください。
それでは、システムの復元を使って、すべての印刷作業が正常に動作していた時点にマシンを戻すための簡単なガイドをご紹介します。
- Windowsキー + R を押して「ファイル名を指定して実行」ダイアログを開きます。「rstrui」と入力してEnterキーを押し、「システムの復元」ウィザードを開きます。

- システムの復元の初期画面が表示されたら、「次へ」をクリックして次のウィンドウに進みます。

- 次の画面で、まず「別の復元ポイントを表示する」チェックボックスにチェックを入れます。その後、エラーに初めて気づいた日よりも前の日付の復元ポイントを選択し、「次へ」をクリックして次の画面に進みます。

- ここまで進んだら、ユーティリティを実行する準備が整っています。処理を開始するには、単に「完了」をクリックし、最後のプロンプトで確認します。

- 次回のシステム起動時に、以前のパソコンの状態が適用されます。起動プロセスが完了したら、以前「機能アドレスが保護違反を引き起こしました」エラーを引き起こしていた操作を繰り返し、問題が解決したかどうかを確認しましょう。
-
Windowsエラー0x80070021の原因と6つの解決方法を徹底解説
多くのWindowsユーザーが、ファイルをある場所から別の場所へコピーする際にエラー0x80070021に遭遇しています。また、ASP.NETアプリケーションでWCFサービスをホストする際にこのエラーが表示されるケースもあります。しかし最も多いのは、Outlookデータファイル(.pst / .ost)を操作しようとしたときに発生するという報告です。エラー0x80070021の主な原因さまざまなユーザーレポートと一般的な修復手順を分析した結果、このエラーコードを引き起こすことが判明している要因は以下の通りです。HTTPアクティブ化が無効 – 空のASP.NETアプリケーションでWCFサービスを
-
WindowsでSPLwow64.exeエラーが発生する原因と5つの解決策
一部のWindowsユーザーの間で、パソコンで特定の操作を行おうとするたびにSPLwow64.exeのエラーポップアップが表示される問題が報告されています。印刷ジョブを実行した際に発生するケースもあれば、開こうとしたすべてのプログラムでこのエラーが表示されるという声もあります。この問題はWindows 7、Windows 8.1、Windows 10で発生することが確認されています。Splwow64.exeとは何か?Splwow64.exeはWindowsのネイティブプロセスの一つで、64ビットOSと32ビットアプリケーションの間でプリンタードライバーモデルを変換する役割を担っています。このプ