PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → syntaxe excel
syntaxe excel
Iniciado por bruno-1.da-silva, jan., 19 2005 12:28 PM - 9 respostas
Publicado em janeiro, 19 2005 - 12:28 PM
Bonjours, je travail sur un programme qui accede a excel par un objet automation dynamique.

j'y arrive bien, mais j'ai un pb:


comment fait on, avec une syntaxe du type :

activesheet.protect drawingobjects:=fales, content:=true, scenario:= _

c'est a dire : où placer les parenthese, les = les espaces, les >>

en resumé, je comprend pas!
merci d'avance!
Publicado em janeiro, 19 2005 - 1:50 PM
Essaie qqch dans ce genre là

XExcel>>activesheet>>protect>>drawingobjects = fales
XExcel>>activesheet>>protect>>content = true
XExcel>>activesheet>>protect>>scenario = true

ou

XExcel>>activesheet>>protect(mot de passe,fales,true,true)

je ne suis pas sûr que ça marche

Bon Courage
Publicado em janeiro, 19 2005 - 3:23 PM
1. Dans ton projet, tu importes la classe Excel (Kouglof-Classes-Bouton droit-Importer)
Elle est fournie dans l'exemple "Pilotage de Excel".
Une série de méthodes y sont déjà prévues.
2. Pour en ajouter: NomObjet>>NomMéthode(paramètres)
Regarde dans l'aide de Windev à "Ole". C'est expliqué en détails.
Les méthodes proviennent du Visual Basic. (Excel-Macro-VBEditor-Aide...)
3. Voici quelques exemples de méthodes que j'ai ajoutées:

PROCEDURE CExcel::CollerImage(sImage)
// sImage = chemin complet et nom de l'image
:m_xExcel>>ActiveSheet>>Shapes>>AddPictures(sImage,True,True,0,0,100,105)

PROCEDURE CExcel::Bordure4Cotes(sPlage,sCouleur,sEpaisseur,sStyle)
SI sPlage<>"" ALORS
:SelectionnerCellules(sPlage)
FIN
:m_xExcel>>Selection>>Borders>>Color = :nConstCouleur(sCouleur)
:m_xExcel>>Selection>>Borders>>Weight = sEpaisseur
:m_xExcel>>Selection>>Borders>>LineStyle = sStyle
J'ai aussi: modifier une seule bordure, changer le style de la bordure, coller la fonction somme, mettre en page (centrer, orientation, bordures G et D)
Publicado em janeiro, 19 2005 - 3:42 PM
Salut dsl de m'introduire comme ça dans la conversation mais je serait assez intéresé par des exemple de mise en page (HpageBreak et son pot vertical)
Merci
Publicado em janeiro, 19 2005 - 4:01 PM
Bonjour, en VBA, les différents paramètres des procédures peuvent être
passés dans n'importe quel ordre, puisqu'ils sont nommés et définis avec
:= comme tu viens de l'écrire.
Pour passer les paramètres en WinDev, en automation, il faut placer les
paramètres dans l'ordre, entre parenthèses, et séparés par des virgules.
Il faut donc que tu regardes dans l'aide Excel quels sont les différents
paramètres à passer à ta fonction, et à bien tous les mettres dans
l'ordre. Si tu veux garder la valeur par défaut de certains paramètres,
mets un signe * à la place de la valeur , mais surtout ne te contente
pas "d'oublier" qu'il devait y avoir un paramètre à cette place.

Céline.

bruno a écrit:
Bonjours, je travail sur un programme qui accede a excel par un objet automation dynamique.

j'y arrive bien, mais j'ai un pb:


comment fait on, avec une syntaxe du type :

activesheet.protect drawingobjects:=fales, content:=true, scenario:= _

c'est a dire : où placer les parenthese, les = les espaces, les >>

en resumé, je comprend pas!
merci d'avance!
Publicado em janeiro, 19 2005 - 5:32 PM
merci, mais j'ai pas compris!!! (snif)


donc quelle est l'ortographe?

...>>protect>>drawingobjects(true),contents(true....
...>>protect drawingobjects(true),contents(true....
...>>protect=drawingobjects(true),contents(true....
...>>protect(drawingobjects(true),contents(true....)
...>>protect (drawingobjects(true),contents(true....)

j'ai essayé bcp de combinaisons, mais je pense que mon cerveau doit avoir un pb...


si quelqu'un pouvait me donner la bonne syntaxe...je lui serait (vraiment) TRES reconnaissant!
Publicado em janeiro, 19 2005 - 6:53 PM
Pour s'y retrouver:
Déclarations:
CExcel est une classe
m_xExcel est un objet OLE dynamique // Pointeur sur objet actif
m_nVersion est un entier // Version de Excel installée sur le poste
m_sClasseurEnCours est une chaîne // nom du classeur en cours
FIN

Pour protéger la feuille:
:m_xExcel>>ActiveSheet>>Protect()
Des paramètres peuvent être ajoutés (mot de passe, ...)
Voir les objets VB dans Excel
Publicado em janeiro, 19 2005 - 6:58 PM
:m_xExcel>>ActiveSheet>>Protect()
Des paramètres peuvent être ajoutés notamment un mot de passe: voir les objets VB spécifiques à Excel (Ouvrir l'éditeur VB et recherche sur "protect")
Publicado em janeiro, 20 2005 - 9:51 AM
Merci beaucoup a toi (et a celine qui avait tout juste mais que j'avait mal compris)
pour info, la bonne syntaxe est:


..>>activesheet>>protect(true,true,true)


CAD : on ne met pas les noms des parametres....
Merci beaucoup!
Publicado em junho, 13 2005 - 12:29 PM
Je suis intéressée par les commandes Excel sous WinDev pour ne modifier qu'une bordure d'une plage (la droite par exemple). Or je ne connais que la commande pour la sélectionner. Pouvez-vous m'aider?