ortografico - Autocorrección de texto C#Word
faltan herramientas de correccion office 2016 (2)
¿Qué versión de MS Word estás usando?
Por defecto, el corrector ortográfico le mostrará el cuadro de diálogo. Para deshabilitar el cuadro de diálogo, hay dos formas que conozco.
1) Al usar Código, elige automáticamente la primera opción de Autocorrección.
Es algo como esto
AutoCorrect.Entries.Add Name:="AdSAD", Value:="Assad"
2) O use la opción de menú. Por favor, consulte este enlace.
Tema : corregir automáticamente la ortografía con palabras del diccionario principal
¿Me dejas saber si esto no es lo que quieres?
Intento utilizar word para corregir automáticamente algunos textos que no están en inglés. El problema es que cuando uso la función SpellCheck aparece el cuadro de diálogo "Spell and Grammar" y espero a que los usuarios ingresen y quiero que el texto sea corregido automáticamente Entonces mi pregunta es ¿cómo puedo resolver esto?
using System.Collections.Generic;
using Microsoft.Office.Interop.Word;
using Word = Microsoft.Office.Interop.Word;
using TobyCL.ro.toby.StringOperations;
namespace namespace.ro.toby
{
class WordProofing:IProof
{
private readonly Word.Application _wordApp;
private readonly Word.Document _wordDoc;
private static object _oEndOfDoc = "//endofdoc";
public WordProofing()
{
_wordApp = new Word.Application {Visible = false};
_wordDoc = _wordApp.Documents.Add();
}
public void Close()
{
object obj = Word.WdSaveOptions.wdDoNotSaveChanges;
_wordDoc.Close(ref obj);
_wordApp.Quit(ref obj);
}
#region Implementation of IProof
public string Proof(string proofText)
{
Range wRng = _wordDoc.Bookmarks.get_Item(ref _oEndOfDoc).Range;
wRng.Text = proofText;
_wordDoc.CheckSpelling(IgnoreUppercase: true,AlwaysSuggest:false);
string str = wRng.Text;
wRng.Text = "";
return str;
}
#endregion
}
}
Escribí este código hace unos días y funcionó. El problema es que desinstalo las herramientas de prueba para ejecutar algunas pruebas y ahora sigo recibiendo ese diálogo, así que estoy pensando que debo establecer algunas configuraciones de Word o he cambiado algo en mi código sin saberlo. Cualquier ayuda sería muy apreciada.
Estoy usando Microsoft Office Word 2010
Para quien esté interesado, esta es la forma en que logré resolverlo, pero realmente lleva mucho tiempo, por lo que cualquier mejora o idea nueva es bienvenida.
using Microsoft.Office.Interop.Word;
class WordProofing
{
private Application _wordApp;
private readonly Document _wordDoc;
private static object _oEndOfDoc = "//endofdoc";
public WordProofing()
{
_wordApp = new Application { Visible = false };
_wordDoc = _wordApp.Documents.Add();
}
public void Close()
{
_wordDoc.Close(WdSaveOptions.wdDoNotSaveChanges);
_wordApp.Quit();
}
public string Proof(string proofText)
{
Range wRng = _wordDoc.Bookmarks.get_Item(ref _oEndOfDoc).Range;
wRng.Text = proofText;
ProofreadingErrors spellingErros = wRng.SpellingErrors;
foreach (Range spellingError in spellingErros)
{
SpellingSuggestions spellingSuggestions =
_wordApp.GetSpellingSuggestions(spellingError.Text,IgnoreUppercase:true);
foreach (SpellingSuggestion spellingSuggestion in spellingSuggestions)
{
spellingError.Text = spellingSuggestion.Name;
break;
}
}
string str = wRng.Text;
wRng.Text = "";
return str;
}
}