Hello,
I am sending the code that I am using in the
current project. I got this code from Oracle Support
Hope it helps
DECLARE
vFile TEXT_IO.FILE_TYPE;
vFileName VARCHAR2(255) := 'c:\windows\spell.txt';
vLine VARCHAR2(2000);
vArgList OLE2.LIST_TYPE;
vWord OLE2.OBJ_TYPE;
BEGIN
vFile := TEXT_IO.FOPEN(vFileName,'W');
TEXT_IO.PUT(vFile,item_to_spell_check);
TEXT_IO.FCLOSE(vFile);
vWORD := OLE2.CREATE_OBJ('WORD.BASIC');
Fp_Word_Basic.FileOpen(vWord,vFileName);
Fp_Word_Basic.ToolsSpelling(vWord);
Fp_Word_Basic.FileSave(vWord);
Fp_Word_Basic.AppClose(vWord);
OLE2.RELEASE_OBJ(vWord);
item_to_spell_check := NULL;
vFile := TEXT_IO.FOPEN(vFileName,'R');
LOOP
TEXT_IO.GET_LINE(vFile,vLine);
item_to_spell_check := vLine;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
TEXT_IO.FCLOSE(vFile);
WHEN OTHERS THEN
MESSAGE(SQLERRM||' '||TO_CHAR(SQLCODE));
END;
*******Packages Spec************
PACKAGE FP_WORD_BASIC IS
PROCEDURE FileOpen(pSpellWord OLE2.OBJ_TYPE, pFileName VARCHAR2);
PROCEDURE ToolsSpelling(pSpellWord OLE2.OBJ_TYPE);
PROCEDURE FileSave(pSpellWord OLE2.OBJ_TYPE);
PROCEDURE AppClose(pSpellWord OLE2.OBJ_TYPE);
END;
**********Packages Body**********
PACKAGE BODY FP_WORD_BASIC IS
/*
**The package opens WinWord spell checks the passed string and passes
**back the spellchecked string
*/
PROCEDURE FileOpen(pSpellWord OLE2.OBJ_TYPE, pFileName VARCHAR2)IS
vArgList OLE2.LIST_TYPE;
BEGIN
vArgList := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(vArgList,pFileName);
OLE2.INVOKE(pSpellWord,'FileOpen',vArgList);
OLE2.DESTROY_ARGLIST(vArgList);
END;
PROCEDURE ToolsSpelling(pSpellWord OLE2.OBJ_TYPE)IS
BEGIN
OLE2.INVOKE(pSpellWord,'ToolsSpelling');
END;
PROCEDURE FileSave (pSpellWord OLE2.OBJ_TYPE)IS
BEGIN
OLE2.INVOKE(pSpellWord,'FileSave');
END;
PROCEDURE AppClose(pSpellWord OLE2.OBJ_TYPE)IS
BEGIN
OLE2.INVOKE(pSpellWord,'AppClose');
END;
END;
Received on Mon Apr 13 1998 - 20:16:08 CDT