Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Take a look at <a href="http://social.msdn.microsoft.com/forums/en-US/vsto/thread/9168f9f2-e5bc-4535-8d7d-4e374ab8ff09/" rel="nofollow">this thread</a>.</p> <p>It looks like your error is VBA_E_IGNORE, in which case you need to register <a href="http://blogs.msdn.com/b/andreww/archive/2008/11/19/implementing-imessagefilter-in-an-office-add-in.aspx" rel="nofollow">an IMessageFilter implementation</a> so you can implement retry logic.</p> <p>I've seen this issue in the past, when using the same instance of Excel with interop and interactively - for example when instatiating an Excel Application object using:</p> <pre><code>Marshal.GetActiveObject("Excel.Application") </code></pre> <p>In your case, you're creating a new instance of Excel using:</p> <pre><code>exc = new Application(); </code></pre> <p>What you should try to do is to make sure you close this instance as quickly as possible. This is not always easy, because of the problem described in <a href="http://support.microsoft.com/kb/317109" rel="nofollow">this KB article</a>. Otherwise you might consider something other than COM Interop to write to Excel (e.g. OLEDB or a third party library such as Aspose or EPPlus).</p> <p>When Excel is busy - e.g. has a modal dialog displayed, or is busy loading a workbook, it will not respond to incoming COM messages, so it returns an error which is translated into this exception. An <code>IMessageFilter</code> implementation (specifically: <code>RetryRejectedCall</code>) will typically retry a few times, then either fail or prompt the user to retry ("Server busy").</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload