DevOps Cloud (ADM)
Cybersecurity
IT Operations Management
How to invoke WORD and show it on the screen.
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.