11

My application has a feature to export to Microsoft Word, but it hasn't worked since I've upgraded from Microsoft Office 2010 to Microsoft Office 2013.

Here is the code:

Microsoft.Office.Interop.Word.Application appVersion = new Microsoft.Office.Interop.Word.Application();
appVersion.Visible = false;

and this is the error message:

Unable to cast COM object of type 'Microsoft.Office.Interop.Word.ApplicationClass' to interface type 'Microsoft.Office.Interop.Word._Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00020970-0000-0000-C000-000000000046}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

Someone told me to edit the registry, but the IID "{00020970-0000-0000-C000-000000000046}" does not exist in my registry.

Air
  • 8,274
  • 2
  • 53
  • 88
aiyagaze
  • 884
  • 2
  • 8
  • 14
  • 1
    That's what the exception message means, COM could not find the registry key either. Reinstall after trying to find out why the registry is corrupted. And *do* try to run code on an STA thread, this marshaling isn't very cheap. – Hans Passant Mar 20 '14 at 12:09

5 Answers5

5

Running a repair installation of Office usually resolves that issue.

cremor
  • 6,669
  • 1
  • 29
  • 72
2

I switched from using Word Interop to using Late Binding. Quick fix that didn't affect refactoring a lot of code...

Before:

OfficeWord.Application msword = new OfficeWord.Application();

After:

Type wordType = Type.GetTypeFromProgID("Word.Application");
dynamic msword = Activator.CreateInstance(wordType);

Solved my issues on a bunch of corporate computers that started seeing this problem after an Office upgrade by Client Support.

Matt Ke
  • 3,599
  • 12
  • 30
  • 49
Popeye
  • 19
  • 2
1

I had the exact same problem and reinstalling Office 2013 solved my issue.

Ghasem
  • 14,455
  • 21
  • 138
  • 171
0

I know it is late, but since I had the same issue, I found a solution here.

It might help others in the future.

Hamid Nazari
  • 506
  • 1
  • 6
  • 18
-1

Old question, however I ran into the same thing, same exact error message when trying to create a new word application. The problem was simple, once I closed VS in frustration and went to do other work. When I opened word, it had retrieved documents that had not been saved when Word closed down and wanted to know what I wanted to do with them. I told it to delete them, closed word and my code worked fine. Still working on a way around this but I thought I would drop this in here to save someone else from reinstalling office when it was something simple.

Kassabba
  • 340
  • 4
  • 15