Hello,
I'm trying to get the English dictionary object MS Word uses and I want to use it to spell check. Here is the code I'm writing to do that:
Here's the CheckSpelling function:Code:Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); Microsoft.Office.Interop.Word.Dictionary EngDict = null; foreach (Microsoft.Office.Interop.Word.Language l in app.Languages) { if (l.Name.Contains("English (US)")) { EngDict = l.ActiveSpellingDictionary; break; } } EngDict.LanguageID = Microsoft.Office.Interop.Word.WdLanguageID.wdEnglishUS; object EngDictObj = EngDict; bool b = CheckSpelling("hello", EngDictObj);
The call to app.CheckSpelling(...) in my CheckSpelling function throws a COMException whose details say "Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT)". Can anyone see what I might be doing wrong?Code:private bool CheckSpelling(string word, object dict) { Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); object O = null; return app.CheckSpelling(word, ref O, ref O, ref dict, ref O, ref O, ref O, ref O, ref O, ref O, ref O, ref O, ref O); }




Reply With Quote