Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法

多くのOfficeユーザーから、VBAスクリプトを実行しようとしたときや、BIランチパッドからExcelを起動しようとしたときに、「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」というエラーが表示されるという報告が寄せられています。この問題は、Windows 7、Windows 8.1、Windows 10など、最近のWindowsバージョンすべてで発生することが確認されています。

【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法

OLEアクションとは何か?

オブジェクトのリンクと埋め込み(OLE)アクションとは、Word、Excel、PowerPoint、SharePointなどのさまざまなOfficeアプリケーションが、他のアプリケーションと通信して操作を正常に完了できるように設計された仕組みです。

「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの原因は?

私たちは、多数のユーザーレポートとMicrosoftの公式ドキュメントを調査し、この問題について検証しました。実際にテスト環境で問題を再現することにも成功しています。

Excelが別のアプリケーション(たとえばWord)に対して通信リクエストを発行する場合、OLEオブジェクトを使用してリクエストを送信し、相手アプリケーションからの応答を待ちます。既定の時間しきい値内に応答が返ってこない場合、Excelはユーザーに対して「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」という警告を表示します。

エラーメッセージ自体は常に同じですが、このエラーを引き起こす原因としては、以下のような比較的よくあるシナリオがいくつか存在します。

  • ExcelでDDEプロトコルが無効になっている - Excelの設定で動的データ交換(DDE)プロトコルが無効になっているために発生する可能性があります。
  • Officeインストールの破損 - 一部のユーザーからは、Office全体を再インストールまたは修復したところ問題が解決したという報告があります。
  • Adobe Acrobat PDFMakerアドインがExcelと競合している - PDFMakerプラグインを無効化またはアンインストールすることで問題を解決できたという報告が複数あります。
  • IE(Internet Explorer)プロセスがDDEに干渉している - これは主に、Microsoft Excelでファイルを保存しようとしたときに発生すると報告されています。この場合は、IEのプロセスを手動で終了することで解決できます。

現在このエラーメッセージの解決にお困りの場合は、この記事で紹介するトラブルシューティングの手順をお試しください。以下では、同様の状況にある他のユーザーが実際に問題を解決できた方法を厳選してご紹介します。

最良の結果を得るためには、効果的な解決策に遭遇するまで、以下の方法を順番に試していきましょう。それでは始めます。

方法1:Adobe Acrobat PDFMakerをアンインストールする(該当する場合)

一部のユーザーは、Adobe Acrobat PDFMakerアドインをアンインストールすることで、このエラーメッセージを解消できました。どうやらこのプラグインは、特定のバージョンのMicrosoft Excelと競合する可能性があるようです。

PDFMakerと互換性のあるOfficeバージョンのリストは以下の通りです。

  • Office 2010(Office 14)32ビットおよび64ビット
  • Office 2013(Office 15)32ビットおよび64ビット
  • Office 2016(Office 16)32ビットおよび64ビット

注意: Adobeの完全な互換性ガイドも参照するとよいでしょう。

このシナリオが当てはまり、PDFMakerに強く依存していないのであれば、Adobe Acrobat PDFMakerアドインを無効化またはアンインストールすることで、ほぼ間違いなく問題を解決できます。

具体的な手順は以下の通りです。

更新情報: Microsoftが提供する自動修正ツール(Fix-it)を使えば、PDFMakerアドインを自動的に無効化することも可能です。Windows Vista、Windows 7、Windows 8.1、Windows 10など、最近のWindowsバージョンすべてに対応しています。

  1. Microsoft Excelを開き、リボンの「ファイル」をクリックします。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  2. ファイルメニューの下部にある「オプション」をクリックします。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  3. Excelのオプション画面で、左側のメニューから「アドイン」をクリックします。次に右側のペインで「管理」のドロップダウンメニューを展開し、「COM アドイン」を選択して、「設定」ボタンをクリックします。これによりCOMアドインの管理画面が開きます。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  4. COMアドインの一覧で、「Acrobat PDFMaker Office COM Addin」のチェックを外すか、項目を選択して「削除」をクリックして完全に取り除きます。
  5. パソコンを再起動し、起動完了後に以前エラーが発生していた操作を再度実行してみてください。

それでも「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーが表示される場合は、次の方法に進んでください。

方法2:Excelの設定でDDEを使用するアプリケーションを許可する

多くのユーザーの報告によると、Microsoft Excelが動的データ交換(DDE)プロトコルを使ってExcelと通信しようとするアプリケーションを無視するように設定されている場合に、この問題が発生することがあります。

たとえば、WindowsエクスプローラーでExcelブックをダブルクリックすると、コマンドが登録された時点でDDEがExcelに送信されます。この交換によって、ダブルクリックしたブックを開くようExcelに指示が出される仕組みです。

ExcelがDDEプロトコルを使用するアプリケーションを無視するよう設定されている場合、このデータ交換が行われず、代わりに「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」というエラーメッセージが表示されてしまいます。

幸いなことに、Excelの「オプション」メニューからDDEプロトコルを有効にすれば、この問題は簡単に解決できます。手順は以下の通りです。

  1. Microsoft Excelを開き、「ファイル」をクリックします。新しいブックでも既存のドキュメントでも構いません。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  2. 「ファイル」メニューから、左側のペインにある「オプション」をクリックします。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  3. Excelのオプション画面で、左側のメニューから「詳細設定」タブをクリックします。次に右側のペインを下にスクロールし、「全般」セクションまで移動します。そこで、「Dynamic Data Exchange(DDE)を使用する他のアプリケーションを無視する」のチェックボックスが外れていることを確認してください。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  4. 「OK」をクリックして変更を保存し、Microsoft Excelを再起動します。その後、以前「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーを引き起こしていた操作を再度実行し、問題が解決したかどうかを確認しましょう。

それでも同じエラーメッセージが表示される場合は、次の方法に進んでください。

方法3:Internet Explorer(IE)のプロセスを終了する

ファイルを保存しようとしたときに「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーが表示される場合、IEのプロセスが動的データ交換(DDE)に干渉している可能性があります。

同様の状況にあったユーザーからは、IEのプロセスを手動で終了したところ問題が解決したという報告があります。手順は以下の通りです。

  1. Ctrl + Shift + Escキーを押してタスクマネージャーを開きます。
  2. タスクマネージャーの「プロセス」タブを開き、Internet Explorerに関連するアクティブなプロセスがないか確認します。
  3. 該当するプロセスが見つかったら、右クリックして「タスクの終了」を選択し、閉じます。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  4. Excelに戻り、ファイル保存時に「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーがまだ発生するかどうかを確認します。

それでも同じエラーが表示される場合は、次の方法に進みましょう。

方法4:Excelアプリケーションのメッセージ表示を抑制する

VBAスクリプトを実行しようとしたときにエラーメッセージが表示される場合は、少量のコードを使ってアプリケーションのメッセージ表示を抑制するという回避策もあります。

ただし、これは問題そのものを解決するものではないことに注意してください。あくまでエラーメッセージの表示を防ぐための回避策です。とはいえ、単にエラーメッセージを非表示にしたいだけであれば十分役立ちます。

以下は、ExcelブックにVBAコードを挿入して、Excelアプリケーションのメッセージ表示を抑制する手順です。

  1. Excelで対象のブックを開き、Alt + F11キーを押してVisual Basic Editor(VBE)を起動します。
  2. 左側のプロジェクトバーで「ThisWorkbook」を右クリックし、「挿入」>「標準モジュール」を選択します。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  3. 新しく作成されたモジュールに、以下のコードを貼り付けます(画面右側の領域)。
    Private Declare Function CoRegisterMessageFilter Lib "ole32" (ByVal IFilterIn As Long, ByRef PreviousFilter) As Long
    
    Public Sub KillMessageFilter()
    
       Dim IMsgFilter As Long
    
       CoRegisterMessageFilter 0&, IMsgFilter
    
    End Sub
    
    Public Sub RestoreMessageFilter()
    
       Dim IMsgFilter As Long
    
       CoRegisterMessageFilter IMsgFilter, IMsgFilter
    
    End Sub

    更新情報: 以下のVBAコードを使用することで、エラープロンプトの表示を防げたというユーザーの報告もあります。

    Sub CreateXYZ()
    
          Dim wdApp As Object
    
        Dim wd As Object
    
             On Error Resume Next
    
        Set wdApp = GetObject(, "Word.Application")
    
        If Err.Number <> 0 Then
    
            Set wdApp = CreateObject("Word.Application")
    
        End If
    
        On Error GoTo 0
    
        Set wd = wdApp.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & "XYZ template.docm")
    
        wdApp.Visible = True
    
        Range("A1:B10").CopyPicture xlScreen
    
        wd.Range.Paste
    
    End Sub
  4. Ctrl + Sキーを押して保存し、「次の機能はマクロなしのブックに保存できません」という警告が表示されたら「いいえ」をクリックします。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  5. 次に、変更したブックの保存先を選び、適切な名前を付けて、「ファイルの種類」「Excel マクロ有効ブック」に設定されていることを確認します。すべて整ったら「保存」をクリックして、マクロ有効ブックを作成します。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  6. Alt + Qキーを押してエディターを閉じ、ブックに戻ります。ブックに戻ったらAlt + F8キーを押し、作成したばかりのマクロを選択して「実行」をクリックします。

この手順が完了すれば、このブックでは「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーは表示されなくなるはずです(バックグラウンドでは引き続き発生している可能性はあります)。

方法5:互換モードを無効にする(該当する場合)

一部のユーザーは、Excelの実行ファイルが互換モードで動作していることが原因であることに気づき、問題を解決しました。これは、ユーザーによる手動設定やサードパーティ製アプリケーションによって発生することがあります。

Excelが互換モードで実行されている疑いがある場合は、これを無効にして、「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーが表示されなくなるかどうかを確認してください。一般的に、Excelの実行ファイルがWindows Vista以前との互換モードで実行されるよう設定されている場合に、このエラーが発生すると報告されています。

互換モードを無効にする手順は以下の通りです。

  1. Excelの実行ファイル(またはショートカット)を右クリックし、「プロパティ」を選択します。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  2. プロパティウィンドウで「互換性」タブを開き、「互換モードでこのプログラムを実行する」のチェックボックスを外します。【解決策】「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」エラーの対処法
  1. Windows 10 で Excel の stdole32.tlb エラーを解決する11の方法

    Microsoft Office は日々の業務に欠かせないソフトウェアです。文書の作成、表計算シートの準備、プレゼンテーションの作成など、MS Office プログラムの重要性は無視できません。しかし、Microsoft Office スイートにはいくつかの問題があり、Microsoft Word や Excel を開くこと自体が悩みの種になることがあります。Word や Excel を起動すると、Windows が Microsoft Office 2007 のセットアップを開始し、その結果として stdole32.tlb エラーが表示されることがあります。本記事では、このエラーの原因と具体

  2. Windows 10でOfficeエラーコード1058-13を修正する方法【原因と対処法を徹底解説】

    Microsoftは、Word、PowerPoint、OneNote、Publisher、Outlookなど、業務や日常生活に欠かせない多彩な生産性アプリを提供していることで広く知られています。豊富な製品ラインナップにより、ユーザーは自分のニーズに合わせてアプリを使い分けることができ、ビジネス用途から個人利用まで幅広く対応しています。オンラインツールやサービスのプラットフォームに大きな変革をもたらしたのは間違いありません。 しかしながら、優れたアプリケーションであっても、時にエラーが発生することがあります。その一つが以下のエラーメッセージです。 「問題が発生しました。申し訳ございませんが、プロ