softruz:
Ahí te va, es un código que tambien me compartieron, no recuerdo el nombre de quien me lo envió y pido disculpas por eso.
Tengo definido un Botón cuya acción es ir a la función SpellCheck() y le envío como parámetro la variable que contiene el texto que deseo revisar (oPro:DES), como puedes apreciar la función SpellCheck me devuelve el mismo texto pero ya corregido y lo recibo en la misma variable.
- Code: Select all Expand view
REDEFINE BUTTON oOrtografia ID 903 OF oDlg CANCEL;
ACTION (oPro:DES := SpellCheck(oPro:DES),oDlg:Update());
MESSAGE "Revisa la ortografía de la descripción del proyecto"
Y esta es la función SpellCheck
- Code: Select all Expand view
/*
* --------------------------------------------------------------------------*
* --------------------------------------------------------------------------*
*/
STATIC FUNCTION SpellCheck(Texto)
LOCAL oWord,oDoc,oTexto
LOCAL cText:=Texto
oWord:=TOleAuto():New( "Word.Application" )
oWord:Visible := .F.
oWord:Documents:Add()
oDoc := oWord:Get("ActiveDocument")
oTexto := oWord:Selection()
oTexto:Text := Texto
oDoc:CheckSpelling()
cText := oTexto:Text
oDoc:Close(0)
oWord:Quit()
oTexto:=NIL
oDoc:=NIL
oWord:=NIL
IF ! EMPTY(cText) // si cancelamos en el chequeo de ortografia, nos devuelve una cadena vacia
Texto := cText
ENDIF
RETURN(Texto)
Espero te sirva o al menos te de la idea de como salir del paso.
Saludos