Many users report of the “Microsoft Excel is waiting for another application to complete an OLE action” error in Windows 10 when using Office apps. For instance, you may encounter this error as you try to open Excel using a BI launchpad or when you try to run a VBA script.
OLE (Object Linking and Embedding) technology was introduced by Microsoft to help the Office apps to communicate with other programs. Using this technology, one editing program to share a section of a document with other programs and then import the section of the document or bring it back with the other program’s content.
So, for instance, if you are working on Excel and it tries to interact with Word, it will send a message to OLE object and will wait till it receives a response from Word. But, when the response is delayed beyond the required time, you will see the “Microsoft Excel is waiting for another application to complete an OLE action” error.
The error can pop up either due to the DDE protocol which is turned off in Excel, when the Office suite installation is corrupt,if you have Adobe Acrobat PDFMaker as the add-in and it’s interfering with Excel, or if the Internet Explorer is conflicting with Excel. While closing the Excel completely, restarting your computer and starting all over again can help, you can also try the below methods in case, it does not.
Method 1: By Removing Adobe Acrobat PDFMaker
Adobe acrobat PDFMaker is known to have incompatibility issues with the MS Excel. Therefore. it’s advised to diable the add-in. Let’s see how.
Step 1: Launch Excel and navigate to the File tab on the extreme upper left of the sheet.
Step 2: From the File menu, select Options.
Step 3: In the Excel Options dialogue box, click on Add-Ins on the left side of the pane.
Now, go to the right side of the window and find the Manage option towards the bottom. Select COM Add-ins from the drop-down next to it and press the Go button.
Step 4: Now, in the COM Add-Ins box that pops up, uncheck the Acrobat PDFMaker Office COM Addin and press OK to save the changes and exit.
Now, simply reboot your PC and try to open Excel again or run the VBA script to check if the error is gone. If the problem still persists, try the 2nd method.
Method 2: By Allowing Other Applications that Use DDE
Step 1: Open Excel and go to the File tab on the upper left of the screen.
Step 2: Select Options from the File menu.
Step 3: In the Excel Options window, go to the left side and click on Advanced. Now, on the right side, scroll down and find the General section.
Here, uncheck the box next to Ignore other applications that use Dynamic Data Exchange (DDE).
Press OK to save the changes and exit.
Now, go back and try the same operation which you were doing previously and see if the error is still there. If you still see the error, try the 3rd method.
Method 3: By Ending the Internet Explorer Process
Step 1: Navigate to the Taskbar and right-click on it. Select Task Manager from the context menu.
Step 2: In the Task Manager window, under the Processes tab, find and select the Internet Explorer Process. Then press the End Task button on the bottom left of the window.
Go back to Excel and see if the error is gone. If you still encounter the error, try the 4th method.
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.
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
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.
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.
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.
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.
That’s all. You can try repeating the previous operation in your Excel and you should no more see the “Microsoft Excel is waiting for another application to complete an OLE action” error in your Windows PC while running a VBA script or opening Excel.