How will you feel if you able to check spelling in oracle forms?
Yea! Surely great…
Let’s try how we can do that.
This code uses the Microsoft Office spell checker, so you have installed Microsoft office suite. Now, create a procedure in forms under program units with the following code.
PROCEDURE spell_check (item_name IN VARCHAR2)
IS
my_application ole2.obj_type;
my_documents ole2.obj_type;
my_document ole2.obj_type;
my_selection ole2.obj_type;
get_spell ole2.obj_type;
my_spell ole2.obj_type;
args ole2.list_type;
spell_checked VARCHAR2 (4000);
orig_text VARCHAR2 (4000);
BEGIN
orig_text := NAME_IN (item_name);
my_application := ole2.create_obj ('WORD.APPLICATION');
ole2.set_property (my_application, 'VISIBLE', FALSE);
my_documents := ole2.get_obj_property (my_application, 'DOCUMENTS');
my_document := ole2.invoke_obj (my_documents, 'ADD');
my_selection := ole2.get_obj_property (my_application, 'SELECTION');
ole2.set_property (my_selection, 'TEXT', orig_text);
get_spell :=ole2.get_obj_property (my_application, 'ACTIVEDOCUMENT');
ole2.invoke (get_spell, 'CHECKSPELLING');
ole2.invoke (my_selection, 'WholeStory');
ole2.invoke (my_selection, 'Copy');
spell_checked := ole2.get_char_property (my_selection, 'TEXT');
spell_checked :=SUBSTR (REPLACE (spell_checked, CHR (13), CHR (10)),1,LENGTH (spell_checked));
COPY (spell_checked, item_name);
args := ole2.create_arglist;
ole2.add_arg (args, 0);
ole2.invoke (my_document, 'CLOSE', args);
ole2.destroy_arglist (args);
ole2.RELEASE_OBJ (my_selection);
ole2.RELEASE_OBJ (get_spell);
ole2.RELEASE_OBJ (my_document);
ole2.RELEASE_OBJ (my_documents);
ole2.invoke (my_application, 'QUIT');
ole2.RELEASE_OBJ (my_application);
END;
Yea! Surely great…
Let’s try how we can do that.
This code uses the Microsoft Office spell checker, so you have installed Microsoft office suite. Now, create a procedure in forms under program units with the following code.
PROCEDURE spell_check (item_name IN VARCHAR2)
IS
my_application ole2.obj_type;
my_documents ole2.obj_type;
my_document ole2.obj_type;
my_selection ole2.obj_type;
get_spell ole2.obj_type;
my_spell ole2.obj_type;
args ole2.list_type;
spell_checked VARCHAR2 (4000);
orig_text VARCHAR2 (4000);
BEGIN
orig_text := NAME_IN (item_name);
my_application := ole2.create_obj ('WORD.APPLICATION');
ole2.set_property (my_application, 'VISIBLE', FALSE);
my_documents := ole2.get_obj_property (my_application, 'DOCUMENTS');
my_document := ole2.invoke_obj (my_documents, 'ADD');
my_selection := ole2.get_obj_property (my_application, 'SELECTION');
ole2.set_property (my_selection, 'TEXT', orig_text);
get_spell :=ole2.get_obj_property (my_application, 'ACTIVEDOCUMENT');
ole2.invoke (get_spell, 'CHECKSPELLING');
ole2.invoke (my_selection, 'WholeStory');
ole2.invoke (my_selection, 'Copy');
spell_checked := ole2.get_char_property (my_selection, 'TEXT');
spell_checked :=SUBSTR (REPLACE (spell_checked, CHR (13), CHR (10)),1,LENGTH (spell_checked));
COPY (spell_checked, item_name);
args := ole2.create_arglist;
ole2.add_arg (args, 0);
ole2.invoke (my_document, 'CLOSE', args);
ole2.destroy_arglist (args);
ole2.RELEASE_OBJ (my_selection);
ole2.RELEASE_OBJ (get_spell);
ole2.RELEASE_OBJ (my_document);
ole2.RELEASE_OBJ (my_documents);
ole2.invoke (my_application, 'QUIT');
ole2.RELEASE_OBJ (my_application);
END;
Now call the procedure in a Button passing the column name. Like
spell_check(‘Block_Name.Item_Name’);
Now all is yours… :)
Say thanks, if it helps.