Microsoft Excel is waiting for another application to complete an OLE action Google Drive

Jiri Pik

unread,

Sep 28, 2015, 11:29:17 AM9/28/15

to

Govert:

My ribbon has a dialog window

Microsoft Excel is waiting for another application to complete an OLE action Google Drive

Jiri Pik

unread,

Sep 28, 2015, 11:36:27 AM9/28/15

to

Govert:

My ribbon has a WPF dialog window which is running on another thread, is never closed, only hidden and before hiding it tries to read and write something to active workbook using ExcelAsyncUtil.QueueAsMacro() with direct access to the Application object.

Sometimes, I am getting this error: Microsoft Excel is waiting for another application to complete an OLE action.

Microsoft Excel is waiting for another application to complete an OLE action Google Drive

How to address this?

1.       If I sticked to the ExcelAsyncUtil.QueueAsMacro(), would avoiding using Application object help? The C API would solve this?

2.       I saw there are some new Synchronizers for Excel threads – would this help?

Jiri Pik

unread,

Sep 28, 2015, 12:55:40 PM9/28/15

to

And in the new WPF UI thread, if I replace

                            SynchronizationContext.SetSynchronizationContext(new DispatcherSynchronizationContext(Dispatcher.CurrentDispatcher));

with

SynchronizationContext.SetSynchronizationContext(new ExcelSynchronizationContext());

What would be the consequences?

Jiri Pik

unread,

Sep 28, 2015, 2:15:17 PM9/28/15

to

Hi all:

I think I solved it by disabling any ole message filter!

        [DllImport("Ole32.dll")]

        privatestaticexternint CoRegisterMessageFilter(

            IOleMessageFilter newFilter,

            outIOleMessageFilter oldFilter);

Govert van Drimmelen

unread,

Sep 28, 2015, 4:56:26 PM9/28/15

to <>

Hi Jiri,

Whatever you do, you should never access the COM object model from another thread.

Hi all:

I think I solved it by disabling any ole message filter!

        [DllImport("Ole32.dll")]

        privatestaticexternint CoRegisterMessageFilter(

            IOleMessageFilter newFilter,

            outIOleMessageFilter oldFilter);

And in the new WPF UI thread, if I replace

                            SynchronizationContext.SetSynchronizationContext(new DispatcherSynchronizationContext(Dispatcher.CurrentDispatcher));

with

SynchronizationContext.SetSynchronizationContext(newExcelSynchronizationContext());

What would be the consequences?

Govert:

My ribbon has a WPF dialog window which is running on another thread, is never closed, only hidden and before hiding it tries to read and write something to active workbook using ExcelAsyncUtil.QueueAsMacro() with direct access to the Application object.

Sometimes, I am getting this error: Microsoft Excel is waiting for another application to complete an OLE action.

How do I stop Microsoft Excel is waiting for another application to complete an OLE action?

Replies (8) .
Open the Excel sheet and go the File menu. In the File menu, click on Options..
An Excel Options dialog box will appear. Go to the Advanced tab and scroll down to the General area. Over there check Ignore other applications that use Dynamic Data Exchange (DDE)..
Restart Excel..

How do I stop OLE action from Excel on Google Drive?

To turn it off: On your computer, click the Drive File Stream Menu Drive File Stream. Click More and thenPreferences. Under Real time presence in Microsoft Office, uncheck the box.

How do I get rid of OLE action error in Excel?

How To Fix Excel Is Waiting For OLE Action Error?.
Now go to the Advanced tab > scroll down to the General area..
Here check-mark the “Ignore other applications that use Dynamic Data Exchange (DDE)” option..

What is an OLE error in Excel?

OLE error when opening Word and Excel documents with embedded objects. You may receive an OLE error when opening Word and Excel documents that contain embedded objects. The error may read: Microsoft Excel (or Word) is waiting for another application to complete an OLE action.