A fin de mejorar nuestras aplicaciones, en las que se utiliza texto, y sobre todo si esta aplicación se va utilizar por terceras personas, es interesante darles la posibilidad de utilizar un corrector ortográfico.
Vamos a implementar el corrector que viene con Microsoft Word.
Podemos crear un proyecto de Windows Forms o insertarlo sobre un procesador de texto que hayamos creado previamente. Es indistinto que nuestra aplicación utilice un Textbox o un RichTextbox. Crearemos sobre la aplicación un button o una opción en el menú.
Yo he optado por esta segunda opción:
microsoft.Office.interop.Word, yo he utilizado la versión 15.0.0.0, tampoco sabría decir si una versión es mejor que otra.
Al proyecto le agregamos: using System.Reflection
y el siguiente método:
private static string RevisarOrtografia(string texto)
{
var app = new Microsoft.Office.Interop.Word.Application();
string corregido = string.Empty;
if (!String.IsNullOrEmpty(texto))
{
app.Visible = false;
object template = Missing.Value;
object newTemplate = Missing.Value;
object documentType = Missing.Value;
object visible = false;
Microsoft.Office.Interop.Word._Document doc1 = app.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
doc1.Words.First.InsertBefore(texto);
object optional = Missing.Value;
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);
object first = 0;
object last = doc1.Characters.Count - 1;
corregido = doc1.Range(ref first, ref last).Text;
}
object saveChanges = false;
object originalFormat = Missing.Value;
object routeDocument = Missing.Value;
app.Application.Quit(ref saveChanges, ref originalFormat, ref routeDocument);
return corregido;
}
// Este código ha sido desarrollado por Nicoloco Partner de MVP
Y lo podemos ejecutar con el siguiente evento:
private void correctorToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.Text = RevisarOrtografia(textBox1.Text);
}
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.