Avec LAUNCHER Office, il est possible de récupérer le contenu d’un fichier spoule dans un document Word.
1° Il vous faut tout d’abord créer et compiler un fichier physique avec la description suivante :
Un seul champ est nécessaire.
Ce champ doit contenir minimum 236 caractères.
2° Une fois compilé, en PCFILE par exemple, vous pouvez utiliser la commande suivante pour copier le fichier spoule dans le fichier physique :
CPYSPLF FILE(SPLFNAME) TOFILE(BIBLIO/PCFILE) MBROPT(*REPLACE)
3° On peut alors transférer le fichier sur le PC et l’ouvrir dans Word.
Exemple
PGM
/* DECLARATIONS */
DCL VAR(&HANDLE) TYPE(*CHAR) LEN(50)
DCL VAR(&CMD) TYPE(*CHAR) LEN(10)
DCL VAR(&OPT) TYPE(*CHAR) LEN(1)
DCL VAR(&PARM1) TYPE(*CHAR) LEN(512)
DCL VAR(&PARM2) TYPE(*CHAR) LEN(1024)
DCL VAR(&RESULT) TYPE(*CHAR) LEN(512)
/* OUVERTURE DE LAUNCHER */
LNCOPEN
/* TRANSFERT DU FICHIER SPOULE */
CHGVAR VAR(&CMD) VALUE('DBFXFER')
CHGVAR VAR(&PARM1) VALUE('C:\TEMP\SPOULE.TXT')
CHGVAR VAR(&PARM2) VALUE('MAGALIE/PCFILER')
CALL PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 +
&PARM2 &RESULT)
MONMSG MSGID(LNC0000) EXEC(GOTO CMDLBL(ERROR))
/* OUVERTURE DE WORD */
CHGVAR VAR(&CMD) VALUE('WORDOPEN')
CHGVAR VAR(&PARM1) VALUE(' ')
CHGVAR VAR(&PARM2) VALUE(' ')
CALL PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 +
&PARM2 &RESULT)
MONMSG MSGID(LNC0000) EXEC(GOTO CMDLBL(ERROR))
/* WORD VISIBLE */
CHGVAR VAR(&CMD) VALUE('WORDSHOW')
CHGVAR VAR(&PARM1) VALUE(' ')
CHGVAR VAR(&PARM2) VALUE(' ')
CALL PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 +
&PARM2 &RESULT)
MONMSG MSGID(LNC0000) EXEC(GOTO CMDLBL(ERROR))
/* OUVERTURE DU FICHIER */
CHGVAR VAR(&CMD) VALUE('WOPENFILE')
CHGVAR VAR(&PARM1) VALUE('C:\TEMP\SPOULE.TXT')
CHGVAR VAR(&PARM2) VALUE(' ')
CALL PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 +
&PARM2 &RESULT)
MONMSG MSGID(LNC0000) EXEC(GOTO CMDLBL(ERROR))
/* FERMETURE DE WORD */
CHGVAR VAR(&CMD) VALUE('WORDCLOSE')
CHGVAR VAR(&PARM1) VALUE(' ')
CHGVAR VAR(&PARM2) VALUE(' ')
CALL PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 +
&PARM2 &RESULT)
MONMSG MSGID(LNC0000) EXEC(GOTO CMDLBL(ERROR))
LNCCLOSE
ENDPGM