Permet d’effectuer des actions sur une cellule ou un groupe de cellules.
- Lire la valeur
- Modifier la valeur
- Modifier la formule de la cellule
- Modifier le format
- Affecter un nom
- Modifier des propriétés
- Lire une propriété
Syntaxe
CHGVAR |
VAR(&CMD) VALUE('XLCELLS') |
CHGVAR |
VAR(&PARM1) VALUE(' [;IgnoreError=True/False] |
CHGVAR |
VAR(&PARM2) VALUE('Valeur affectée aux cellules') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT) |
Paramètres
Paramètres |
|
Parm1 |
Ref : La référence à la cellule peut être donnée sous la forme : - Syntaxe $B$3. Exemple : $B$3 désigne la colonne B, ligne 3. - Syntaxe CL. C pour désigner la colonne et L pour désigner la ligne. Exemple : B3 désigne la ligne 3, et la colonne 2 (B). - Nom symbolique donné à une cellule ou un groupe de cellules. - "." désignera la cellule active.
Sheet : Indique le nom de la feuille à adresser. Si un
nom de cellule est indiqué par Ref, alors le mot clé Sheet
n’est pas utile.
Row, Col : Ces deux mots clés représentent respectivement : - Les coordonnées (Ligne, Colonne) d’une cellule, si Ref est absent. - Les coordonnées relatives en lignes et colonnes depuis la base référencée par "Ref=" quand ce dernier est présent. La cellule en haut à gauche a pour coordonnées relatives (1,1).
RowCnt , ColCnt :
Ces deux mots clés représentent respectivement le nombre de lignes et de
colonnes sélectionnées, à partir de la référence données par Ref ou
par (Row, Col).
RefTo : Référence à la
cellule en bas et à droite de la zone sélectionnée. Cette référence est
donnée par des mots clé Ref, Row et Col, dans une chaîne
entre guillemets.
NextOutline: Quand cette
option est spécifiée, LAUNCHER Office recherche la prochaine ligne à partir
de la cellule active, ayant un niveau de hiérarchie correspondant aux
critères.
SetValue : Indique que le paramètre Parm2 contient une valeur à affecter à la cellule.
SetFormula : Indique que le paramètre Parm2 contient le texte d’une formule à appliquer à la cellule.
Format : Permet de fixer le format de la cellule ou du groupe de cellules.
Name : Donne un nom à la cellule ou groupe de cellules.
Comment : Ajoute un commentaire à la cellule. Ce commentaire est affiché par Excel quand on survole la cellule avec la sourie.
GetValue : Indique que l’on veut recevoir la valeur interne de la cellule, et non la valeur affichée. La valeur sera retournée dans le paramètre &RESULT.
GetText : Indique que
l’on veut recevoir la valeur affichée de la cellule. La valeur affichée
peut différer de la valeur interne.
GetProp("Propriété") :
retourne la valeur d’une propriété affectée aux cellules de la région
référencée.
GetSize : Retourne dans
&RESULT la taille de la région référencée par Ref.
Select : True indique que la cellule ou le groupe de cellules doivent être sélectionnés.
Clear : True efface la cellule.
Freeze : True remplace les expressions par leur valeur calculées.
Calculate : True recalcule l’ensemble du classeur.
Merge : Quand ce
mot clé est spécifié, la fusion des cellules de la sélection est modifiée.
Prop() : permet de modifier
une propriété des cellules pointées.
IgnoreError : Si cette option est vraie, en cas d’erreur, aucun message sera généré, et la valeur « *ERROR » sera retournée dans &RESULT.
DateFmt(format) :
Quand
une valeur de date est fournie dans le paramètre "Parm2", ce mot
clé indique dans quel format se trouve cette valeur.
NumFmt(format) Quand un nombre
décimal, sans séparateur décimal, est fourni dans le paramètre
"Parm2", ce mot clé indique combien de décimales comporte ce
nombre.
Unicode : Quand Unicode est
vrai, la valeur lue par GetValue, GetText, ou écrite par SetValue
est dans le jeu de caractère Unicode de Windows.
|
Parm2 |
Si le mot clé SetValue ou SetFormula apparaissent dans Parm1, alors Parm2 contient le texte de la valeur ou formule. Si
l’option Unicode=True est fixée, le contenu de &Parm2 doit être en
format Unicode Windows,
|
Opt |
Quand Unicode est vrai, &OPT doit avoir la valeur 'W', et &PARM2 doit contenir une chaîne Unicode Windows.
|
Exemples
|
/* Lire la valeur de la
cellule B2 */ |
CHGVAR |
VAR(&CMD) VALUE('XLCELLS') |
CHGVAR |
VAR(&PARM1) VALUE('Ref="$B$2";SetValue=True;GetText=True') |
CHGVAR |
VAR(&PARM2) VALUE(&NEWVAL) |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT) |
|
/* &RESULT contient l’ancienne valeur de B2 */ |
|
/* Changer le format de la cellule Ligne 10, Colonne 5 */ |
CHGVAR |
VAR(&CMD) VALUE('XLCELLS') |
CHGVAR |
VAR(&PARM1) VALUE('Row=10;Col=5;Format="# ##0,00"') |
CHGVAR |
VAR(&PARM2) VALUE(' ') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT) |
|
|
|
/* Ecrire un texte Chinois dans une cellule */ |
|
/* Convertir depuis CCSID chinois vers unicode Windows */ |
CHGVAR |
VAR(&WCS_LEN) VALUE(512) |
CHGVAR |
VAR(&CCSID) VALUE(835) |
CALL |
PGM(LNCCVTWCS) PARM(&HANDLE '*TO ' &PARM2 &WCS_LEN + &CHINA &CHINA_LEN &CCSID &RES_SIZE) |
|
|
CHGVAR |
VAR(&CMD) VALUE('XLCELLS') |
CHGVAR |
VAR(&PARM1) VALUE('Ref="$B$2";SetValue=True;Unicode=True') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD 'W' &PARM1 + &PARM2 &RESULT) |
|
|
|
/* Sélectionner une zone
de 3 lignes, 5 colonnes */ |
CHGVAR |
VAR(&CMD) VALUE('XLCELLS') |
CHGVAR |
VAR(&PARM1) VALUE('Ref="Table";RowCnt=3;ColCnt=5;Select') |
CHGVAR |
VAR(&PARM2) VALUE(' ') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT) |
|
|
|
/* Sélectionner une zone
*/ |
CHGVAR |
VAR(&CMD) VALUE('XLCELLS') |
CHGVAR |
VAR(&PARM1) VALUE('Ref="Table";RefTo="FinTable";Select') |
CHGVAR |
VAR(&PARM2) VALUE(' ') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT) |
|
|
|
/* Sélectionner une zone
*/ |
CHGVAR |
VAR(&CMD) VALUE('XLCELLS') |
CHGVAR |
VAR(&PARM1)
VALUE('Ref="Table";+ |
CHGVAR |
VAR(&PARM2) VALUE(' ') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT)
|
|
/* Application formule */ |
LNCCMD CMD(XLCELLS) PARM1('Ref="H8";setformula=True;calculate=True')
PARM2('=IF(ISERROR(-1+D5/E5)," ",-1+D5/E5)')
Voir aussi l'exemple : Programme CL avec passage de paramètre
Note
Pour utiliser la propriété Font.Color, il faut utiliser les codes couleur Windows.
Soit les constantes:
Soit les valeurs:
PROP(Font.Color)=vbMagenta
PROP(Font.Color)=INT(255) //pour rouge
On peut aussi utiliser les valeurs BGR avec la fonction RGB : RGB(blue,green,red).
PROP(Font.Color)=RGB(255,0,0) //bleu
PROP(Font.Color)=RGB(0,255,0) // vert
PROP(Font.Color)=RGB(0,0,255)
// rouge