PreviousNext
Help > Programmation avec LAUNCHER Office > Les commandes LNCCMD > Liste des commandes > Commande XLDRAWGR
Commande XLDRAWGR

 Crée un graphique sur une nouvelle feuille.

 

Syntaxe

 

CHGVAR

VAR(&CMD) VALUE('XLDRAWGR')

CHGVAR

VAR(&PARM1) VALUE('sélection')

CHGVAR

VAR(&PARM2) VALUE(' ''TYPE'' ''[ROWS|COLS]'' +

''Nb_Categorie'' ''Nb_Serie'' ''Name'' ')

CALL

PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 +

&PARM2 &RESULT)

 

Paramètres

Paramètres

 

Parm1

Sélection des cellules de données contenant les données et/ou les étiquettes de données (coordonnées séparées par un : - deux points -) . Si plusieurs cellules sont indiquées, elles doivent être séparées par un ; (point virgule).
Le nombre de caractères utilisés pour définir la sélection ne doit pas dépasser 260. Il faut utiliser des zones de cellules pour limiter le nombre de caractères.

 

Parm2

 

Autres paramètres

 

- Le type de graphique (AREA, BAR, COLUMN, LINE, RADAR, DONUT, XYSCATTER, 2DPIE, 3DAREA, 3DBAR, 3DCOLUMN, 3DLINE, 3DPIE).

- La disposition des données (ROWS ou COLS).

- Le nombre de lignes ou de colonnes de la plage source qui contiennent les étiquettes des catégories.

- Le nombre de lignes ou de colonnes de la plage source qui contiennent les étiquettes des séries.

- Le titre du graphique.

 

 

Exemple 1

Construire un graphique d'après le tableau Excel suivant :

 

 

A

B

C

1

Années

ITEMSTOTAL

AMOUNTPAID

2

2001

162 730,05 €

162 730,05

3

2002

315 910,20 €

273 096,75

4

2003

162 379,40 €

162 379,40

5

2004

953 405,35 €

786 008,75

6

2005

967 225,30 €

935 238,30

7

2006

360 950,80 €

 

8

2007

65,00 €

 

 

PGM

 

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)

 

LNCOPEN

 

LNCCMD CMD(EXCELOPEN)

 

LNCCMD CMD(XLOPENFILE) +

PARM1('%LNCDIR%\samples\test.xls') +

PARM2(visible)

 

LNCCMD CMD(XLDRAWGR) PARM1('A1:C8') +

PARM2('''COLUMN'' ''COLS'' ''1'' ''1'' ''TEST1''')

 

LNCCMD CMD(EXCELSHOW)

 

LNCCMD CMD(END)

 

SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) +

MSGDTA(&RESULT) MSGTYPE(*INFO)

 

LNCCLOSE

 

ENDPGM

 

Exemple 2

  PGM                                                          

                                                               

  LNCOPEN                                                      

                                                               

  LNCCMD     CMD(EXCELOPEN)                                    

                                                               

  LNCCMD     CMD(XLOPENFILE) +                                 

               PARM1('%LNCDIR%\samples\test.xlsx')             

                                                               

  LNCCMD     CMD(XLDRAWGR) PARM1('Sheet1!$A$1:C$4') +          

               PARM2('''COLUMN'' ''COLS'' ''1'' ''1'' +        

               ''TEST1''')

                                    

  LNCCMD     CMD(XLMETHOD) +                                   

               PARM1('Sheets.Item("Chart1").Select') 

         

  LNCCMD     CMD(EXCELSHOW) 

  LNCCLOSE

  ENDPGM  

 

 

Exemple 3: plusieurs cellules définies (limite 260 caractères)

                                                           

 LNCCMD     CMD(XLDRAWGR) +                                

              PARM1('Sheet1!$A$1;Sheet1!$A$2;Sheet1!$A$3;+ 

              Sheet1!$A$4;Sheet1!$A$5;Sheet1!$A$6;Sheet1!+ 

              $A$7;Sheet1!$A$8;Sheet1!$B$1;Sheet1!$B$2;Sh+ 

              eet1!$B$3;Sheet1!$B$4;Sheet1!$B$5;Sheet1!$B+ 

              $6;Sheet1!$B$7;Sheet1!$B$8;Sheet1!$C1;Sheet+ 

              1!$C$2;Sheet1!$C$3') PARM2('''COLUMN'' +     

              ''COLS'' ''1'' ''1'' ''TEST1''')             

 

Exemple 4: utilisation zone de données "data"

 

  LNCCMD     CMD(XLDRAWGR) PARM1('Sheet1!data') +           

               PARM2('''COLUMN'' ''COLS'' ''1'' ''1'' +     

               ''TEST1''')

                                 

Exemple 5 : 

CHGVAR              VAR(&CMD)VALUE('XLDRAWGR')

CHGVAR              VAR(&PARM1)VALUE(' A2:D3 ')

CHGVAR              VAR(&PARM2) +

                    VALUE(' ''3DPIE'' ''ROWS'' ''1'' ''0'' ''Market'' ')

CALL                PGM(LNCCMD) PARM(&HANDLE &CMD &OPT +

                    &PARM1 &PARM2 &RESULT)

 

Notes

 

Les fonctions de tracé de graphiques dans LAUNCHER sont limitées avec XLDRAWGR.

Pour modifier certaines propriétés du graphique, vous pouvez utiliser la commande XLMETHOD qui permet d'exécuter depuis l'AS/400 des méthodes VBA Excel :

 

LNCCMD CMD(XLMETHOD) PARM1('ActiveSheet.ChartObjects.Item("Graphique 1").Activate')

LNCCMD CMD(XLMETHOD) PARM1('ActiveChart.ApplyDataLabels(xlDataLabelsShowValue)')

 

Pour avoir une idée des méthodes à appeler, placez vous sous Excel en mode "Enregistrement de macros" : Menu "Outils" – "Macro" – "Nouvelle macro".

Faites les opérations désirées au clavier et souris.

Arrêtez l'enregistrement de macro, et allez voir le code généré par Excel : Menu "Outils" – "Macro" – "Macros" – "Modifier"

 

Exemple :

La macro qui active le graphique et modifie une propriété est la suivante :

ActiveSheet.ChartObjects("Graphique 1").Activate

ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowPercent, LegendKey:=True _

, HasLeaderLines:= False

 

Note : Il y a 2 différences à noter entre la syntaxe VB de Excel et la syntaxe LAUNCHER :

1) Quand on sélectionne un objet d'une collection, il faut ajouter ".Item" après le nom de la collection.

Pour sélectionner "Graphique 1" dans la collection des graphiques, la syntaxe VB est la suivante :

ActiveSheet .ChartObjects("Graphique 1")

Elle devient :

ActiveSheet .ChartObjects.Item("Graphique 1")

 

2) Les noms de paramètres ( Nom:=valeur ) est propre à la syntaxe VB.

Avec LAUNCHER, il faut lister les valeurs de chaque paramètre, dans l'ordre attendu, séparés par ';'.

L'instruction suivante :

ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowPercent,       LegendKey:=

Devient :

ActiveChart.ApplyDataLabels(xlDataLabelsShowPercent;True)

 

 

Sinon, optez pour l'écriture d'une macro sous Excel, que vous appellerez par XLEXEMACRO.