Problem:
How to invoke WORD and show it on the screen.
Resolution:
There are many things we can do with WORD but usualy we will want to invoke it, show it on the screen and open a file and start working with it, this is easily done following these steps.
Create a WORD.DEF file using the utility axdefgen.
Use the following word sample code :
IDENTIFICATION &nbs p; DIVISION.
PROGRAM-ID. TestWord.
ENVIRONMENT & nbsp; DIVISION.
CONFIGURATION   ; SECTION.
SPECIAL-NAMES.
SYSERR IS SYSERR
copy "MSWORD.DEF". .
DATA &n bsp; DIVISION.
WORKING-STORAGE &nb sp; SECTION.
COPY "activex.def".
COPY "crtvars.def".
01 WORD-HANDLES.
03 wrdApp HANDLE OF Application.
03 wrdDoc HANDLE OF Document.
03 wrdSelection HANDLE OF Selection.
77 WORD-CLOSED   ; PIC 9.
77 DOC-IS-SAVED &nbs p; PIC 9.
77 DISP-EVENT PIC Z(7)9.
78 MSG-AX-EVENT &nbs p; VALUE 16436.
78 EVENT-ACTION-COMPLETE VALUE 5.
PROCEDURE DIVISION.
MAIN-APP.
CREATE Application OF Word HANDLE IN WrdApp
EVENT PROCEDURE IS WORD-EVENT.
MODIFY WrdApp Documents::Add()
GIVING wrdDoc.
MODIFY WrdApp @Visible = 1.
INITIALIZE &n bsp; WORD-CLOSED.
PERFORM UNTIL WORD-CLOSED = 1
ACCEPT OMITTED BEFORE TIME 100
END-PERFORM.
DESTROY wrdSelection.
DESTROY WrdDoc.
DESTROY WrdApp.
STOP RUN.
WORD-EVENT.
IF EVENT-TYPE = MSG-AX-EVENT
IF EVENT-DATA-2 = @ApplicationQuit
MOVE 1 TO WORD-CLOSED
ELSE IF EVENT-DATA-2 =
@ApplicationDocumentBeforeClose
CALL "C$GETEVENTDATA" USING
&nb sp; EVENT-CONTROL-HANDLE
&nb sp; WrdDoc
&nb sp; DOC-IS-SAVED
&nb sp; END-CALL
INQUIRE wrdDoc Saved in DOC-IS-SAVED
IF DOC-IS-SAVED = 1
&nb sp;MOVE 0 TO DOC-IS-SAVED
ELSE
&nb sp;MOVE 1 TO DOC-IS-SAVED
&nb sp;END-IF
CALL "C$SETEVENTDATA" USING
&nb sp; EVENT-CONTROL-HANDLE
&nb sp; wrdDoc
&nb sp; DOC-IS-SAVED
&nb sp; END-CALL
MOVE EVENT-ACTION-COMPLETE TO
&nb sp; EVENT-ACTION
ELSE
MOVE EVENT-DATA-2 TO DISP-EVENT
DISPLAY "Word Event:" DISP-EVENT
&nb sp; UPON SYSERR
END-IF
END-IF.
SUB-EXIT.
EXIT.
