当サイトの記事にはプロモーションが含まれています。

Word VBAでエラーを無視する方法|初心者でもできるエラー処理の基本ガイド

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

Word VBA(Visual Basic for Applications)を使っていると、意図しないエラーが発生してマクロが途中で止まってしまうことがあります。特に、複数のファイルを処理する際など、エラーが発生しても処理を続けたい場合がありますよね。そんなときに役立つのが、VBAのエラー処理機能です。

今回は、初心者の方でもわかりやすく、Word VBAでエラーを無視して処理を続ける方法をご紹介します。これを覚えれば、マクロが途中で止まる心配が減り、安心して作業を進められるようになりますよ。

スポンサーリンク

エラー処理の基本On Errorステートメントとは?

Wordのイメージ

Wordのイメージ

VBAでは、エラーが発生した際の動作を制御するために「On Error」ステートメントを使用します。これにより、エラーが発生しても処理を続行したり、指定した場所にジャンプしてエラー処理を行ったりすることができます。

On Error Resume Nextエラーを無視して次の行へ進む

このステートメントを使用すると、エラーが発生してもそのエラーを無視して、次の行の処理を続けることができます。例えば、ファイルが存在しない場合など、エラーが発生しても問題ない場合に有効です。

vba
Sub SampleMacro()
On Error Resume Next ' エラーを無視して次の行へ進む
' エラーが発生する可能性のある処理
' 例存在しないファイルを開く
Documents.Open "C:pathtononexistentfile.docx"
' エラーが発生しても処理は続行される
MsgBox "処理が完了しました"
End Sub

On Error GoTo ラベル名エラー発生時に指定した場所へジャンプ

このステートメントを使用すると、エラーが発生した際に指定したラベル(場所)に処理をジャンプさせることができます。エラー処理を集中させてコードを整理するのに役立ちます。

vba
Sub SampleMacro()
On Error GoTo ErrorHandler ' エラー発生時にErrorHandlerへジャンプ
' エラーが発生する可能性のある処理
' 例ゼロで割る
Dim result As Double
result = 10 / 0
' エラーが発生するとErrorHandlerへジャンプする
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました" & Err.Description
' エラー処理後の処理
Resume Next ' 次の行から処理を再開
End Sub

On Error GoTo 0エラー処理を無効にする

このステートメントを使用すると、現在のプロシージャ内で有効になっているエラー処理を無効にすることができます。エラー処理を終了したい場合に使用します。

vba
Sub SampleMacro()
On Error Resume Next ' エラーを無視して次の行へ進む
' エラーが発生する可能性のある処理
' 例存在しないファイルを開く
Documents.Open "C:pathtononexistentfile.docx"
' エラーが発生しても処理は続行される
On Error GoTo 0 ' エラー処理を無効にする
' 以降の処理では通常のエラー処理が適用される
End Sub

エラー処理を使う際の注意点

エラー処理は便利な機能ですが、使用する際にはいくつかの注意点があります。

ここがポイント!

  • エラーを無視する前に、そのエラーが本当に無視しても問題ないか確認することが重要です。予期しないエラーを無視すると、後々問題が発生する可能性があります。
  • エラー処理を使用した後は、必ずエラー情報をクリアすることが推奨されます。これにより、次回の処理で古いエラー情報が残らないようにします。
  • エラー処理を適切に行わないと、マクロが途中で止まってしまったり、意図しない動作をする可能性があります。エラー処理は慎重に設計しましょう。

よくある質問や疑問

質問On Error Resume Nextを使うと、どんなエラーも無視してしまうのですか?

On Error Resume Nextを使用すると、その行で発生したエラーを無視して次の行へ進みます。しかし、全てのエラーを無視するわけではなく、エラーが発生した場合でも処理を続行したい場合に使用します。重要なエラーを無視しないように注意が必要です。

質問エラー処理を使うと、マクロの動作が遅くなりますか?

エラー処理を適切に使用することで、マクロの動作が遅くなることはありません。しかし、エラー処理を多用しすぎると、逆に処理が複雑になり、パフォーマンスに影響を与える可能性があります。必要な箇所で適切に使用しましょう。

質問エラー処理を使わないと、どうなりますか?

エラー処理を使用しないと、エラーが発生した際にマクロが途中で停止してしまい、以降の処理が行われなくなります。特に、大量のデータを処理する際などには、エラー処理を適切に行うことが重要です。

まとめ

Word VBAでエラーを無視して処理を続ける方法として、On Error Resume NextOn Error GoTo ラベル名On Error GoTo 0などのステートメントがあります。これらを適切に使用することで、エラーが発生してもマクロを途中で止めずに処理を続けることができます。

ただし、エラーを無視する前に、そのエラーが本当に無視しても問題ないかを確認することが重要です。エラー処理を適切に行うことで、より安定したマクロを作成することができます。

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

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

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