how to resolve The message filter indicated that the application is busy. (Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))

11
PowerPoint.Application PowerPoint_App;
PowerPoint_App = new PowerPoint.ApplicationClass();
PowerPoint_App.DisplayAlerts = PowerPoint.PpAlertLevel.ppAlertsNone;
PowerPoint.Presentation presentation;
presentation = null;
try
{
    PowerPoint_App.Visible = MsoTriState.msoTrue;
    presentation = PowerPoint_App.Presentations.Open(strPptFilePath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
    PowerPoint.Slide tempSlide = null;
    int totalSlides = presentation.Slides.Count;
    int slideNo = 0;

I am getting the below exception on PowerPoint_App.Presentations.Open code.

Exception Message: The message filter indicated that the application is busy. (Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))

I did not received this error previously on this block of code. Everything was working perfectly before. Can anyone help?

c#
asp.net
ms-office
office-interop
asked on Stack Overflow Feb 24, 2014 by Milind Anantwar • edited Feb 15, 2016 by Elrond_EGLDer

5 Answers

7

I ended up removing:

 PowerPoint_App.Visible = MsoTriState.msoTrue;

And it worked...!!!

answered on Stack Overflow Feb 25, 2014 by Milind Anantwar
3

I'm working through a similar problem (controlling Excel via PowerShell), and wanted to add that -- in a way I cannot begin to explain -- the analogue to @Milind Anantwar's suggestion caused my script to start working.

More details, in case they help:

  • In my case, everything worked fine when run locally. I started seeing the

    Application is busy

    exception only when I moved to executing via an Azure Hybrid Worker Runner.

  • With reference to the following snippet, I was seeing the exception after line 2, but removing line 2 "fixed" the problem:

    $excel = New-Object -ComObject Excel.Application    
    $excel.visible = $SHOW_EXCEL    
    $workbook = $excel.Workbooks.Open($_excel_file) 
    
  • I saw the exception when $SHOW_EXCEL was set to $false.

answered on Stack Overflow Aug 28, 2018 by jrheling • edited Aug 28, 2018 by zx485
1

I just want to say that Nikolay's advice was 100% spot on for me. Although my problem was with code that interacted with Excel rather than PowerPoint, I believe it'll apply all the same.

Suddenly and seemingly out of nowhere a service that had been running flawlessly for years without issues started encountering this error. There weren't any recent code changes that could've been suspect, either.

I logged into the server via Remote Desktop using credentials for the service account that runs the automated service in question and as soon as I manually launched Excel, I was presented with a pop-up with some unrelated news I didn't care about. I clicked OK on this, closed Excel, logged out, and restarted the service and voila! No more issues.

Long story short, the root cause of the problem (for me) was that Excel was trying to present a pop-up and continued code execution couldn't continue because there wasn't a user to acknowledge the pop-up. Acknowledge it and your issue will go away if you have the same issue I did.

answered on Stack Overflow Oct 21, 2020 by Joshua Barker
0

Check your Task Manager; you may have an orphaned application instance from a debugging session. Kill it and try again. That has been the case for me before.

answered on Stack Overflow May 31, 2019 by reeemer
0

For me, I had to wait for Excel to be "ready" after opening up a workbook. The below fixed the issue:

xlApp = new Excel.Application();
xlBook = xlApp.Workbooks.Open(workbook);

// wait for the workbook to open
while (!xlApp.Ready)
{
    Thread.Sleep(500);
}
answered on Stack Overflow Feb 25, 2021 by Leo Gurdian

User contributions licensed under CC BY-SA 3.0