PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → OLE Automation
OLE Automation
Iniciado por atcamus, 14,oct. 2004 16:40 - 3 respuestas
Publicado el 14,octubre 2004 - 16:40
Bonjour,

Où pourrais-je avoir les différents codes pour manipuler une feuille excel (ole automation), comme :
MaFeuilleXLS>>Visible = Vrai
MaFeuilleXLS>>Workbooks>>Add()
MaFeuilleXLS>>Range("A1")>>Value = 12
...
je ne trouve null part.

merci
Anne
Publicado el 14,octubre 2004 - 16:59
// instructions sur classeurs et cellules
xl est un objet OLE "Excel.Application" // créer l'objet dynamique
xl>>visible = OLEVrai // rendre excel visible ou non
xl>>workbooks>>open("C:\chemin\nomfichier.xls") // ouvre le classeur
xl>>workbooks>>add() // ajouter un classeur
xl>>Sheets("Feuil1")>>Select() // sélectionne la feuille 1
xl>>Cells>>Select() // sélectionne toutes les cellules
xl>>range("A1:F11")>>select() // sélectionne une plage
xl>>Selection>>ClearContents() // efface le contenu de la sélection
xl>>range("A1")>>Value = "texte" // assigne une valeur à la cellule A1
// Tri d'une plage
xl>>range("A1:F11")>>select() // sélectionne une plage de la feuille
xl>>Selection>>sort((xl>>range("F2")),1,oleignore,... // tri croissant sur la colonne F oleignore,oleignore,oleignore)
// commandes relatives aux graphiques
xlchart est un objet ole dynamique // déclare l'objet
xlchart=xl>>charts()>>add() // ajoute un graph
xlchart>>charttype = 52 // type du graphe (voir les variables d'environnement dans VB (XL...))
xlchart>>setsourcedata((xl>>worksheets("Feuil1")>>range("A1:F10)),1) // défini la source des données
xlchart>>location(2,"Feuil1") // place le graph dans feuil1
xl>>Activechart>>chartarea>>select() // sélectionne le graph
xl>>activesheet>>shapes("Graphique 1")>>left = 0 // déplace le graph vers la gauche
xl>>activesheet>>shapes("Graphique 1")>>top = 20 // dessus du graph à 20
xl>>activesheet>>shapes("Graphique 1")>>height = 700 // hauteur = 700
xl>>activesheet>>shapes("Graphique 1")>>width = 480 // largeur = 480
xl>>Activechart>>hastitle = true // active le titre du graphique
xl>>Activechart>>charttitle>>characters>>text = "titre" // texte du titre
xl>>Activechart>>axes(1,1)>>hastitle = true // active le titre des x
xl>>Activechart>>axes(1,1)>>axistitle>>characters>>text = "titre x"
xl>>Activechart>>axes(2,1)>>hastitle = true // active le titre des y
xl>>Activechart>>axes(2,1)>>axistitle>>characters>>text = "titre y" // donne titre y
xl>>Activechart>>legend>>select() // sélectionne la légende du graphe
xl>>Activechart>>legend>>top = 25 // fixe le dessus de la légende
xl>>Activechart>>legend>>height = 500 //fixe la hauteur
xl>>Activechart>>plotarea>>select() // sélection de la zone de traçage
xl>>Activechart>>plotarea>>interior>>colorindex = 0 // couleur du fond blanc
xl>>Activechart>>hasdatatable = true // affiche la table des données dans le graph
xl>>Activechart>>chartarea>>select() // sélectionne le graph
xl>>Activechart>>delete() // efface le graph
xl>>Activechart>>printout() // imprime le graph
//insertion d'une ligne
xl>>Sheets("Feuil1")>>Select
xl>>range("A1")>>select()
xl>>rows("1:1")>>select()
xl>>selection>>insert(-4121)
XL>>rows("1:1")>>rowheight = 30 // hauteur colonne = 30
//inscription d'un titre et centrage du titre sur plusieurs colonnes
xl>>range("A1")>>value = "titre"
xl>>range("A1:I1")>>select()
Xl>>selection>>horizontalalignment = -4108
Xl>>selection>>verticalalignment = -4108
Xl>>selection>>wraptext = false
Xl>>selection>>orientation = 0
Xl>>selection>>shrinktofit = false
Xl>>selection>>mergecells = false
Xl>>selection>>merge()
// cadre autour du titre
Xl>>selection>>borders(5)>>linestyle = -4142
Xl>>selection>>borders(7)
Xl>>selection>>borders>>linestyle=7
Xl>>selection>>borders>>weight=2
// police 18 pour le titre et gras
Xl>>selection>>font>>bold = true
Xl>>selection>>font>>size = 14
Xl>>selection>>font>>bold = true
// effacer la feuille active
xl>>activesheet>>delete()
xl>>ActiveWorkBook>>printout() // imprime la feuille
//imprime page puis sauve, ferme le classeur et ferme Excel
xl>>Activesheet>>printout()
xl>>activeworkbook>>save()
xl>>activeworkbook>>close(OLEFaux)
xl>>Quit()
Il existe aussi d'autres commandes qui travaillent sur les classeurs
// code pour compter les lignes et colonnes
//------------------------------------------
// xls = xlsOuvre("C:\chemin\classeur1.xls")
// NbLin = xlsnblignes(xls)
// NbCol = xlsNbColonnes(xls)
// TitreCol = xlsTitreColonne(xls,1)
// Donnée = xlsDonnée(xls,1,1)
// xlsFerme(xls)
Publicado el 14,octubre 2004 - 17:09
Dis moi ce que tu veux faire exactement, et je te fournirai le code nécesaire sinon tu peux avoir le code VB en allant sur excel en faisant
"outil / macro / Nouvelle macro"
tu fais ce que tu veux faire sur excel
une fois fini tu arrêtes la macro
tu vas ensuite dans "outil / macro / macros"
tu sélectionnes la macro créée et tu fais "modifier"
tu auras le code avec des ".".tu le copie et tu remplaces les "." par des ">>" et à quelque détails près tu auras ton code OLE

Voilà mais n'hésite pas à me soumettre tes questions :
pierre.cartal@c-logik.com
Publicado el 14,octubre 2004 - 18:04
"Pierre" <pierre.cartal@c-logik.com> wrote in
news:416e713f$1@news.pcsoft.fr:


Dis moi ce que tu veux faire exactement, et je te fournirai le code
nécesaire sinon tu peux avoir le code VB en allant sur excel en
faisant "outil / macro / Nouvelle macro"
tu fais ce que tu veux faire sur excel
une fois fini tu arrêtes la macro
tu vas ensuite dans "outil / macro / macros"
tu sélectionnes la macro créée et tu fais "modifier"
tu auras le code avec des ".".tu le copie et tu remplaces les "." par
des ">>" et à quelque détails près tu auras ton code OLE

Voilà mais n'hésite pas à me soumettre tes questions :
pierre.cartal@c-logik.com







ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScale = 1
.MaximumScale = 9
End With

Comment tu traduis ça en code OLE ?

Merci d'avance.

--
N. Kevin