修正:Microsoft Excelは、別のアプリケーションがOLEアクションを完了するのを待っています

一部のOfficeユーザー 、VBAスクリプトを実行しようとしたとき、またはBI起動パッドからExcelを実行しようとしたときに、 「Microsoftは別のアプリケーションがOLEアクションを完了するのを待っています」エラーを取得すると報告しています 。 この問題は、Windows 7、Windows 8.1、およびWindows 10を含むすべての最新のWindowsバージョンで発生すると報告されています。

Microsoft Excelは、別のアプリケーションがOLEアクションを完了するのを待っています

OLEアクションとは何ですか?

Object Linking&Embedding(OLE)アクションは、基本的に、さまざまなOfficeアプリケーション(Word、Excel、Powerpoint、Sharepoint)が他のアプリケーションと通信して操作を正常に完了するのを支援するように設計されたメカニズムです。

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

さまざまなユーザーレポートとMicrosoftの公式ドキュメントを見て、この特定の問題を調査しました。 テストマシンの1つで問題を再現することもできました。

Excelが別のアプリケーション(Wordなど)に通信要求を発行した場合、OLEオブジェクトを使用してそれを行い、アプリケーションからの応答を待ちます。 応答がデフォルトの時間しきい値に到達しない場合、Excelはエンドユーザーに対して次の警告をトリガーします。 「Microsoft Excelは、別のアプリケーションがOLEアクションを完了するのを待っています」

エラーメッセージは常に同じですが、実際にはMicrosoft Excelでこの特定のエラーを引き起こすかなり一般的なシナリオがいくつかあります。

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

この特定のエラーメッセージの解決に現在苦労している場合、この記事ではトラブルシューティング手順の選択を提供します。 以下に、同様の状況にある他のユーザーが問題を解決するために使用した方法の選択を示します。

最良の結果を得るには、問題を解決するのに効果的な修正が見つかるまで、以下の方法に従ってください。 さぁ、始めよう

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

一部のユーザーは、Adobe Acrobat PDF Makerアドインをアンインストールすることでエラーメッセージを解決できました。 結局のところ、このプラグインはMicrosoft Excelの特定のバージョンと競合する可能性があります。

PDFメーカーと互換性のあるOfficeバージョンのリストを次に示します。

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

注:アドビの完全な互換性ガイドを参照できます( こちら )。

このシナリオが適用可能で、PDF Makerにそれほど依存していない場合、Adobe Acrobat PDFMakerアドインを無効化またはアンインストールすることで問題を解決できる可能性が高くなります。

これを行う方法のクイックガイドを次に示します。

更新:このFix-it(ここ)を使用して、PDFMakerアドインを自動的に無効にすることもできます。 Windows 10、Windows 8.1、Windows 7、およびWindows Vistaを含むすべての最新のWindowsバージョンと互換性があります。

  1. Microsoft Excelを開き、リボンバーを使用して[ファイル ]をクリックします。

    Microsoft Excelを開き、ファイルに移動します
  2. [ファイル]メニューの[ オプション ]をクリックします(メニューリストの下部にあります)。

    [ファイル]> [オプション]に移動します
  3. [Excelのオプション]メニューで、左側のメニューを使用して[ アドイン ]をクリックします。 次に、右側のペインに移動して、 [管理 ]に関連付けられたドロップダウンメニューを展開し、 [ COMアドイン ]を選択します 。 次に、[ Go… ]ボタンをクリックして、 Comアドインメニューを起動します。

    アドインに移動して、ドロップダウンメニューから[COMアドイン]を選択し、[移動]をクリックします。
  4. [ COMアドイン ]ボックスで、 Acrobat PDFMaker Office COMアドインに関連付けられているボックスをオフにするか、選択して[削除]をクリックして完全に削除します。
  5. コンピューターを再起動し、次の起動が完了したら、以前にエラーを生成していた手順を再作成します。

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

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

多くのユーザーが報告しているように、Microsoft ExcelがDynamic Data Exchange(DDE)プロトコルを使用してExcelと通信しようとするアプリケーションを無視するように設定されている場合、問題が発生する可能性があります。

たとえば、WindowsエクスプローラーでExcelブックをダブルクリックすると、コマンドが登録されるとすぐに、動的データ交換(DDE)がExcelに送信されます。 この交換は、ダブルクリックしたブックを開くようにExcelに指示します。

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

幸いなことに、Excelの[ オプション ]メニューにアクセスし、DDEプロトコルを有効にすると、この問題を簡単に修正できます。 これを行う方法のクイックガイドを次に示します。

  1. Microsoft Excelを開き、 [ファイル ]をクリックします 。 新しいブックまたは新しいドキュメントを開くかどうかは関係ありません。

    Microsoft Excelを開き、ファイルに移動します
  2. [ファイル ]メニューで、左ペインの[ オプション ]をクリックします。

    [ファイル]> [オプション]に移動します
  3. [ Excelのオプション ]メニューで、左側のメニューから[ 詳細設定 ]タブをクリックします。 次に、右側のペインに移動し、 一般セクションに到達するまでスクロールダウンします。 そこに着いたら、 Dynamic Data Exchange(DDE)を使用する他のアプリケーション無視することに関連付けられているボックスがオフになっていることを確認してください。

    ExcelでDDEプロトコルを有効にする
  4. [ OK]をクリックして変更を保存し、Microsoft Excelを再起動します。 次に、以前「Microsoftは別のアプリケーションがOLEアクションを完了するのを待っています」エラーを引き起こしていた操作を繰り返し、問題がまだ発生しているかどうかを確認します。

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

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

ファイルを保存しようとすると、 「Microsoftは別のアプリケーションがOLEアクションを完了するのを待っています」というエラーが表示される複数のユーザーがいます。

同様の状況のユーザーは、IEプロセスを手動で強制終了した後、問題が解決したと報告しています。 これを行う方法のクイックガイドを次に示します。

  1. Ctrl + Shift + Esc押しタスクマネージャーを開きます
  2. タスクマネージャー内で、 [プロセス ]タブに移動し、現在アクティブなInternet Explorerに属するプロセスがあるかどうかを確認します。
  3. 開いているものがある場合は、それを右クリックし、[ タスクの終了 ]を選択して閉じます。

    Internet Explorer(IE)プロセスを閉じる
  4. Excelに戻り、ファイルを保存しようとしたときに、 「Microsoftが別のアプリケーションがOLEアクションを完了するのを待っている」エラーがまだ発生しているかどうかを確認します。

それでも同じエラーが発生する場合は、下の次の方法に進んでください。

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

VBAスクリプトを実行しようとしたときにエラーメッセージが表示される場合、1つの回避策は、小さなコードを使用してアプリケーションメッセージングを抑制することです。

ただし、これでは問題自体が処理されないことに注意してください。これは、エラーメッセージが表示されないようにする回避策にすぎません。 ただし、エラーメッセージが表示されないようにすることが唯一の目標である場合に役立ちます。

以下は、Excelアプリケーションメッセージングを抑制するワークブックをExcelにVBAコードを挿入するためのクイックガイドです。

  1. Excelでワークブックを開き、 Alt + F11を押してVisual Basic Editor(VBE)を開きます。
  2. プロジェクトバー(左側)で、 ThisWorkbookを右クリックし、[ 挿入]> [モジュール ]を選択します。

    ThisWorkbookを右クリックして、[挿入]> [モジュール]を選択します。
  3. 新しく作成されたモジュールに、次のコードを(画面の右側のセクションに)貼り付けます。
     プライベート宣言関数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 on 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を押して[ いいえ ]をクリックします。

    警告プロンプトで「いいえ」をクリックします
  5. 次に、変更されたワークブックの適切な場所を選択して適切な名前を設定し、[ファイルの種類]が[ Excelマクロ対応ワークブック]に設定さていることを確認します 。 すべてが正常に完了したら、[ 保存 ]をクリックしてExcelマクロ対応ワークブックを作成します

    Excelマクロ対応ワークブックの作成
  6. Alt + Qを押してエディターを閉じ、ワークブックに戻ります。 エディターに戻ったら、 Alt + F8を押して、作成したマクロを選択し、[ 実行 ]をクリックします

この手順が完了すると、このワークブックで「Microsoft Excelは別のアプリケーションがOLEアクションを完了するのを待っています」というエラーが表示されなくなります(バックグラウンドで発生する場合もあります)。

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

一部のユーザーは、Excel実行可能ファイルが互換モードで実行されていることを発見した後、問題を解決できました。 これは、ユーザーの手動介入またはサードパーティアプリケーションが原因で発生する可能性があります。

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

互換モードを無効にするためのクイックガイドを次に示します。

  1. Excel実行可能ファイル(またはショートカット)を右クリックし、[ プロパティ]を選択します

    Excel実行可能ファイルを右クリックし、[プロパティ]を選択します
  2. [ プロパティ]ウィンドウで、[ 互換性 ]タブに移動し、[ 互換モードでこのプログラム実行する]に関連付けられているボックスのチェックを外します

    このプログラムを互換モードで実行するのチェックを外します

興味深い記事