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

多くのユーザーは、Officeアプリを使用しているときに、Windows10で「MicrosoftExcelは別のアプリケーションがOLEアクションを完了するのを待っています」というエラーを報告します。たとえば、BIランチパッドを使用してExcelを開こうとしたとき、またはVBAスクリプトを実行しようとしたときに、このエラーが発生する可能性があります。

OLE(Object Linking and Embedding)テクノロジは、Officeアプリが他のプログラムと通信するのを支援するためにMicrosoftによって導入されました。このテクノロジーを使用して、ある編集プログラムでドキュメントのセクションを他のプログラムと共有し、ドキュメントのセクションをインポートするか、他のプログラムのコンテンツと一緒に戻します。

したがって、たとえば、Excelで作業していて、Wordと対話しようとすると、ExcelはOLEオブジェクトにメッセージを送信し、Wordからの応答を受信するまで待機します。ただし、応答が必要な時間を超えて遅延すると、「MicrosoftExcelは別のアプリケーションがOLEアクションを完了するのを待っています」というエラーが表示されます。

エラーは、ExcelでオフになっているDDEプロトコルが原因で、Officeスイートのインストールが破損している場合、アドインとしてAdobe Acrobat PDFMakerがあり、Excelに干渉している場合、またはInternetExplorerが競合している場合にポップアップする可能性があります。 Excelで。Excelを完全に閉じて、コンピュータを再起動し、最初からやり直すと役立つ場合がありますが、そうでない場合は、以下の方法を試すこともできます。

方法1:Adobe AcrobatPDFMakerを削除する

Adobe acrobat PDFMakerには、MSExcelとの非互換性の問題があることが知られています。したがって。アドインを無効にすることをお勧めします。方法を見てみましょう。

手順1:Excelを起動し、シートの左上にある[ファイル]タブに移動します。

Excelの[ファイル]タブを開く

ステップ2:からファイルメニューを選択オプションを

ファイルメニューオプション

ステップ3:ではExcelのオプション]ダイアログボックスで、をクリックしてアドインウィンドウの左側にあります。

次に、ウィンドウの右側に移動し、下部にある[管理]オプションを見つけます。横にあるドロップダウンから[ COMアドイン]を選択し、[移動]ボタンを押します。

Excelオプションアドイン管理ComアドインGo

ステップ4:今、でCOMアドインボックスポップアップし、オフのAcrobat PDFMakerのOfficeのCOMアドインを押し、[OK]を変更を保存して終了し。

ここで、PCを再起動して、Excelをもう一度開くか、VBAスクリプトを実行して、エラーがなくなったかどうかを確認します。それでも問題が解決しない場合は、2番目の方法を試してください。

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

ステップ1:Excelを開き、画面の左上にある[ファイル]タブに移動します。

Excelの[ファイル]タブを開く

ステップ2: [ファイル]メニューから[オプション]を選択します。

ファイルメニューオプション

手順3: [ Excelのオプション]ウィンドウで、左側に移動して[詳細設定]をクリックします。次に、右側で下にスクロールして、[一般]セクションを見つけます。

ここで、[動的データ交換(DDE)を使用する他のアプリケーション無視する]の横のチェックボックスをオフにします。

[ OK]を押して変更を保存し、終了します。

Excelオプション詳細一般動的データ交換(dde)を使用する他のアプリケーションを無視するチェックを外す

ここで、戻って前に行っていたのと同じ操作を試し、エラーがまだ存在するかどうかを確認します。それでもエラーが表示される場合は、3番目の方法を試してください。

方法3:InternetExplorerプロセスを終了する

ステップ1:に移動タスクバー、それを右クリックします。コンテキストメニューから[タスクマネージャー]を選択します。

タスクバータスクマネージャーを右クリック

ステップ2:ではタスクマネージャのウィンドウ、下のプロセスのタブを、見つけて選択し、Internet Explorerのプロセスを。次に、ウィンドウの左下にある[タスク終了]ボタンを押します。

タスクマネージャはInternetExplorerの終了タスクを処理します

Excelに戻り、エラーがなくなったかどうかを確認します。それでもエラーが発生する場合は、4番目の方法を試してください。

Method 4: By Restricting the Excel Application Messaging

Try this method if you encounter the “Microsoft Excel is waiting for another application to complete an OLE action” error while running a VBA script. However, this is just a workaround and does not solve the issue itself. But, it can get you through by running the VBA script for the moment and by blocking the error message. Here’s how to go about it.

Step 1: Open an Excel sheet and press the Alt key + F11 together on your keyboard to open the Microsoft Visual Basic for Applications editor window.

Step 2: In the Project – VBA Project bar on the left, find ThisWorkbook under Microsoft Excel Objects.

Right-click on it, go to Insert in the right-click menu and from the sub-menu, select Module.

VbaエディタープロジェクトバーMicrosoftExcelオブジェクトこのワークブック右クリック挿入モジュール

Step 3: It creates a new Module on the right side of the pane. Copy the below code and paste it into the module:

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コード

Step 4: Alternatively, you can also copy the below copy the below code and paste it in the new module. Either of the codes will work.

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

代替コード新しいモジュールのコピーと貼り付け

Step 5: Now, go to the File tab on the upper left corner of the editor and select Save Book1.

Vbaエディタの[ファイル]タブ[Book1を保存]

Step 6: After you press the Save button, you will sees prompt that says, The following features cannot be saved in macro-free workbooks.

Press the No button.

次の機能はマクロフリーワークブックに保存できません

Step 7: Now, select the location where you want to save this workbook, create a suitable File name, and set the Save as type field as Excel Macro-Enabled Workbook.

Click the Save button to save the new VBA workbook.

Select Location Name The File Save As Type Excel Macro Enabled Workbook Save

Step 8: Once you have saved the VBA file, now, close the editor and go back to the Excel workbook. Here, press Alt +  F8 keys together on your keyboard. From the Macro dialogue box, select the Macro that you just created and press the Run button.

Now that you have successfully completed the process, you should no more see the error. But, if you still find the error popping up, try the 5th method.

Method 5: Turn Off Compatibility Mode of Excel

Step 1: Go to the MS Excel app on your desktop, right-click on it and select Properties from the right-click menu.

Desktop Ms Excel Right Click Properties

Step 2: In the Microsoft Excel Properties dialogue box, go to the Compatibility tab. Now, navigate to the Compatibility mode section and uncheck the box next to Run this program in compatibility mode for.

Press Apply and then OK to save the changes and exit.

Excel Properties Compatibility Tab Run This Program In Compatibility Mode For Uncheck Apply Ok

それで全部です。Excelで前の操作を繰り返してみると、VBAスクリプトの実行中またはExcelを開いているときに、WindowsPCで「MicrosoftExcelが別のアプリケーションがOLEアクションを完了するのを待っています」というエラーが表示されなくなります。