Ferme le classeur EXCEL courant.
Syntaxe
CHGVAR |
VAR(&CMD) VALUE('XLCLOSFILE') |
CHGVAR |
VAR(&PARM1) VALUE('[*YES|*NO]') |
CHGVAR |
VAR(&PARM2) VALUE(' ') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT) |
Paramètres
Paramètres |
|
Parm1 |
Option de sauvegarde : *YES : sauvegarde les modifications et ferme le document. *NO : ferme le document sans sauvegarder les modifications apportées.
Si aucune option n’est choisie, par défaut une fenêtre Office s’ouvrira pour le choix d’enregistrement: « Voulez-vous enregistrer les modifications apportées à classeur ? ». |
|
Note 1 :
Attention, il faut utiliser la commande suivante :
LNCCMD CMD(XLCLOSFILE) PARM1('*YES')
seulement sur un classeur qui a déjà été sauvegardé une fois.
Il ne faut pas l’utiliser sur un nouveau classeur car sinon une pop-up Excel s’ouvrira (si Launcher est en interactif) pour demander de sauvegarder le classeur.
Exemple :
LNCTOXLS TOXLS('C:\A\Templates\SPCUST_template.xls') FROMFILE(SP_CUST) TONAME(TABLEAU1) XLSMAP(*MAPNAME) SAVFMT(*NORMAL) ENDOPT(*NONE) SAVDOC(*NONE)
LNCCMD CMD(XLCELLS) PARM1('Ref="$C$11";Setvalue=true') PARM2('1')
LNCCMD CMD(XLCLOSFILE) PARM1('*YES')
après un LNCTOXLS ENDOPT(*NONE) SAVDOC(*NONE), un nouveau classeur basé sur le modèle est créé. Après XLCLOSFILE *YES, on a cette pop-up Excel qui demande l’enregistrement du document:
Note 2 :
Attention
si vous travaillez en mode compatibilité avec une version d’Excel
supérieure à 2003 !
Par défaut le paramètre SAVFMT de LNCTOXLS vaut *NORMAL, c’est-à-dire le
format par défaut d’Excel. Avec les versions supérieures à 2003 , le
format par défaut d’Excel est : XLSX
Exemple :
LNCTOXLS TOXLS('C:\A\Templates\SPCUST_template.xls') FROMFILE(SP_CUST) TONAME(TABLEAU1) XLSMAP(*MAPNAME) SAVDOC('c:\temp\res11233.xls') SAVFMT(*NORMAL) ENDOPT(*NONE)
LNCCMD CMD(XLCELLS) PARM1('Ref="$C$11";Setvalue=true') PARM2('1')
LNCCMD CMD(XLCLOSFILE) PARM1('*YES')
LNCCMD CMD(EXCELCLOSE)
Le classeur généré ne sera pas correct : l’extension (.xls) et le format ne seront pas homogènes. En effet le format par défaut d’Excel 2016 est .XLSX.
Voici la pop-up Excel lors de l’ouverture du classeur généré :
La bonne syntaxe est la suivante :
LNCTOXLS TOXLS('C:\A\Templates\SPCUST_template.xls') FROMFILE(SP_CUST) TONAME(TABLEAU1) XLSMAP(*MAPNAME) SAVDOC('c:\temp\res11233.xls') SAVFMT(*XLS) ENDOPT(*NONE)
LNCCMD CMD(XLCELLS) PARM1('Ref="$C$11";Setvalue=true') PARM2('1')
LNCCMD CMD(XLCLOSFILE) PARM1('*YES')
LNCCMD CMD(EXCELCLOSE)
Voir aussi
• XLSAVEAS