using System.Reflection;
using Microsoft.Office.Core;//Referencia al objeto Office
using Microsoft.Office.Interop.Word;
using Word = Microsoft.Office.Interop.Word;
using WordI = Microsoft.Office.Interop.Word;
WordI.Application appI = new WordI.Application();//instancia
int errors = 0;
if (textBox1.Text.Length > 0)
{
appI.Visible = false;
object template = Missing.Value;
object newTemplate = Missing.Value;
object documentType = Missing.Value;
object visible = true; // evita despliegue del documento word
Word._Document doc1 = appI.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
doc1.Words.First.InsertBefore(textBox1.Text);
Word.ProofreadingErrors spellErrorsColl = doc1.SpellingErrors;
errors = spellErrorsColl.Count;
object optional = Missing.Value;
doc1.Content.LanguageID = Word.WdLanguageID.wdEnglishUS; //Custumiza el Idioma a Usar
doc1.CheckSpelling(ref optional, ref optional, ref optional, ref optional, ref optional, ref optional,
ref optional, ref optional, ref optional, ref optional, ref optional, ref optional);
label1.Text = errors + "Errores Corregidos ";//Muestra errores encontrados (a veces)
object first = 0;
object last = doc1.Characters.Count - 1;
textBox1.Text = doc1.Range(ref first, ref last).Text;
}
object saveChanges = false;
object originalFormat = Missing.Value;
object routeDocument = Missing.Value;
appI.Quit(ref saveChanges, ref originalFormat, ref routeDocument);//cierra doc