VS 2012 RC and Visual Studio Tools for Office
-
Monday, August 06, 2012 11:36 PM
I am trying to write a simple application working with Visual Studio Tools for Office and Visual Studio 2012 RC (Windows 7 64-bit). The application, written in C#, is described in http://www.dotnetperls.com/word . The code opens a doc file and reads the contents. I've installed not only VS 2012 RC but Office Home and Student 2010 (64-bit). Unfortunately, I get the following error on the Open() call.
"Additional information: 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: Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))."
This is a clean machine, with virtually nothing installed before installing VS2012 and Office 2010.
Does anyone have a suggestion to fix this problem? Does VS2012 RC and Office 2010 in fact actually work together, or is it some other version of Office that is to be used?
Ken
All Replies
-
Tuesday, August 07, 2012 2:56 AMModerator
Hi Ken,
Thanks for posting in the MSDN Forum.
Would you please provide me some snippets for further research?
Have a good day,
Tom
Tom Xu [MSFT]
MSDN Community Support | Feedback to us
-
Tuesday, August 07, 2012 11:02 AM
Hi Tom,
Thanks for your help.
Here is the code.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Office.Interop.Word; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { // Open a doc file. Application application = new Application(); Document document = application.Documents.Open("C:\\word.doc"); // Loop through all words in the document. int count = document.Words.Count; for (int i = 1; i <= count; i++) { // Write the word. string text = document.Words[i].Text; Console.WriteLine("Word {0} = {1}", i, text); } // Close word. application.Quit(); } } }Ken
-
Tuesday, August 07, 2012 5:57 PM
I was able to get the program to work after installing Office 2013 Professional Plus Preview, and Office Developer Tools for Visual Studio 2012. It looks like VS2012 does not work with Word 2010.
Ken
-
Wednesday, August 08, 2012 11:27 AM
Hi Ken,
It's based on my experience that you target machine has been install Office 2013, however you don't know it. Please reference Tom XU_MSFT's reply at Office 2013 preview forum: http://social.msdn.microsoft.com/Forums/en-US/officedevpreview/thread/b3320dc0-7bcb-4bc1-8d77-1a29ef491e95. I think you need check it.
T.X.
- Marked As Answer by Tom_Xu_WXModerator Monday, August 13, 2012 7:14 AM
-
Wednesday, August 08, 2012 2:38 PM
Microsoft do 'recommend' using Office 2013 Preview with Visual Studio 2012 RC; however if Visual Studio 2012 RC cannot be used to program for Office 2010 that's obviously a problem that needs to be addressed.
Could you just confirm, Ken, what version of the Microsoft.Office.Interop.Word.dll you're using?
I suspect that VS 2012 RC has installed the Office 2013 type libraries, and that there are now duplicate versions registered. I got that specific error message ('unable to cast _Application'....'TYPE_E_LIBNOTREGISTERED') after a messy uninstall, and then re-installing an older version of Office. I solved it by following the advice of another forum thread here which I'm sadly unable to find...basically I searched the registry for the CLSID in the error message, so, {00020970-0000-0000-C000-000000000046}. Its registry key contained two keys, one of which was called 'TypeLib', which in turn contained another CLSID for the type library. I then searched the registry, starting at the beginning again, for that second CLSID, which led me to the relevant interop type library. It had two entries....8.3 and 8.4, the bigger number corresponding to the later version of Office....which I deleted...and immediately was able to run my program.
- Edited by JosephFox Wednesday, August 08, 2012 2:39 PM
- Edited by JosephFox Wednesday, August 08, 2012 2:53 PM Slightly elaborated description
- Edited by JosephFox Wednesday, August 08, 2012 3:09 PM typos
- Edited by JosephFox Wednesday, August 08, 2012 3:10 PM typos, and removed reference to Tx_OfficeDev's post, which I originally didn't read properly
- Marked As Answer by Tom_Xu_WXModerator Monday, August 13, 2012 7:14 AM
-
Friday, April 19, 2013 3:46 PMThe other thread you're looking for is probably this one: http://stackoverflow.com/questions/12957595/error-accessing-com-components

