PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → [WD8] Ole Automation avec Excel
[WD8] Ole Automation avec Excel
Débuté par freddie3, 15 aoû. 2004 02:17 - 6 réponses
Posté le 15 août 2004 - 02:17
Bonjour,
Je cherche à utiliser les objets Ole Automation pour générer un Classeur
Excel, avec qques feuilles.
Les Post m'ont bien guidé pour le remplissage, mais je ne parviens pas à:
- Créer un classeur nouveau,
- lui Donner un nom,
- le Sauvegarder dans un endroit précis,
- puis quitter Excel, afin de continuer mon programme WD.
J'ai essayé de me baser sur la syntaxe des macros, mais je n'y arrive pas.
Pouvez-vous me donner des instructions précises concernant ces 4 fonctions.

Autre question: Le classeur Excel doit-il être obligatoirement affiché à
l'écran lors du déroulement des opérations Ole?

Merci par avance de vos contributions.

Tyves
Posté le 17 août 2004 - 15:16
"freddie3" <freddie3@wanadoo.fr> écrivait
news:411e8f5e$1@news.pcsoft.fr:


Bonjour,
Je cherche à utiliser les objets Ole Automation pour générer un
Classeur Excel, avec qques feuilles.
Les Post m'ont bien guidé pour le remplissage, mais je ne parviens pas
à:
- Créer un classeur nouveau,
- lui Donner un nom,
- le Sauvegarder dans un endroit précis,
- puis quitter Excel, afin de continuer mon programme WD.
J'ai essayé de me baser sur la syntaxe des macros, mais je n'y arrive
pas. Pouvez-vous me donner des instructions précises concernant ces 4
fonctions.

Autre question: Le classeur Excel doit-il être obligatoirement affiché
à l'écran lors du déroulement des opérations Ole?

Merci par avance de vos contributions.

Tyves




Salut,

Il y a un exemple dans windev 8 : "WD8 pilotage de excel".
Tu peux le retrouver par la soucoupe. Il y a une classe avec pas mal de
fonction Excel, tu peux ensuite l'enrichir s'il n'y a pas tout ce que tu
veux.

Sinon la méthode générale c'est de d'enregistrer ce que tu veux faire en
Macro dans Excel, puis de "transformer" le code de la macro en code
wlangage. Cette "transformation" est parfois simple parfois elle
nécessite un peu plus d'experience.

Je tes donné les cartes, maintenant à toi de jouer, car plus c'est alors
faire ton développement, et c'est pas mon job... Si tu ne t'en sorts pas
il y a un service de st personnalisé mais payant (on a rien sans rien) à
pcsoft.

--
En esperant t'avoir aidé.
ted
Posté le 17 août 2004 - 16:56
ted wrote:
"freddie3" <freddie3@wanadoo.fr> écrivait
news:411e8f5e$1@news.pcsoft.fr:


Bonjour,
Je cherche à utiliser les objets Ole Automation pour générer un
Classeur Excel, avec qques feuilles.
Les Post m'ont bien guidé pour le remplissage, mais je ne parviens pas
à:
- Créer un classeur nouveau,
- lui Donner un nom,
- le Sauvegarder dans un endroit précis,
- puis quitter Excel, afin de continuer mon programme WD.
J'ai essayé de me baser sur la syntaxe des macros, mais je n'y arrive
pas. Pouvez-vous me donner des instructions précises concernant ces 4
fonctions.

Autre question: Le classeur Excel doit-il être obligatoirement affiché
à l'écran lors du déroulement des opérations Ole?

Merci par avance de vos contributions.

Tyves





Salut,

Il y a un exemple dans windev 8 : "WD8 pilotage de excel".
Tu peux le retrouver par la soucoupe. Il y a une classe avec pas mal de
fonction Excel, tu peux ensuite l'enrichir s'il n'y a pas tout ce que tu
veux.

Sinon la méthode générale c'est de d'enregistrer ce que tu veux faire en
Macro dans Excel, puis de "transformer" le code de la macro en code
wlangage. Cette "transformation" est parfois simple parfois elle
nécessite un peu plus d'experience.

Je tes donné les cartes, maintenant à toi de jouer, car plus c'est alors
faire ton développement, et c'est pas mon job... Si tu ne t'en sorts pas
il y a un service de st personnalisé mais payant (on a rien sans rien) à
pcsoft.


Je me permet d'annoncer que le principe de transformation a été
pratiquement supprimé par notre ressource VBAExterne qui exploite
directement l'éditeur de macros... (copier le vba et le coller dans le
classeur !)
http://rbesset.net/modules/mydownloads/singlefile.php…

++ R&B
Posté le 17 août 2004 - 20:47
Bonjour
voila des morceaux de codes pour manipuler excel

bye

xl est un objet OLE "Excel.Application"

xl>>visible=OLEFaux
(cacher excel)

xl>>Workbooks>>Add()
xl>>range("C:C")>>select()
(selection)

xl>>Selection>>Numberformat="@"
xl>>range("D:D")>>select()
xl>>Selection>>ColumnWidthP
(largeur de la colonne)

xl>>range("A1")>>value="ADHERENT :"
xl>>selection>>Interior>>colorIndex7
xl>>selection>>locked=False
(verouiller la cellule)

xl>>selection>>borders>>weight=-4138
xl>>selection>>borders(7)>>linestyle=1
xl>>selection>>borders(8)>>linestyle=1
xl>>selection>>borders(9)>>linestyle=1
xl>>selection>>borders(10)>>linestyle=1
xl>>selection>>borders(5)>>linestyle=-4142
xl>>selection>>borders(6)>>linestyle=-4142
xl>>selection>>borders(11)>>linestyle=-4142
xl>>selection>>borders(12)>>linestyle=-4142
(pour faire les bordures de la selection)

xl>>selection>>font>>bold = True

xl>>range("I"+NumériqueVersChaine(lixl,"1d")+":I"+NumériqueVersChaine(lixl+1,"1d"))>>select()
xl>>selection>>mergecells=True

xl>>selection>>horizontalalignment=-4108
xl>>selection>>verticalalignment=-4108
xl>>selection>>Interior>>colorIndex7


xl>>ActiveWorkbook>>SaveAs("M:\PROMOTEL\XLS"+SansEspace(NumériqueVersChaine(Jobpromo.IDJobpromo,"7d"))+".XLS")
(enregistrer le documents )
xl>>ActiveSheet>>Protect()
xl>>activeworkbook>>save()
xl>>activeworkbook>>close(OLEFaux)
xl>>Quit()
Posté le 17 août 2004 - 23:24
Romuald Besset <info@rbesset.net> écrivait
news:41220118$1@news.pcsoft.fr:



Je me permet d'annoncer que le principe de transformation a été
pratiquement supprimé par notre ressource VBAExterne qui exploite
directement l'éditeur de macros... (copier le vba et le coller dans le
classeur !)


Salut,

j'ai fais quelques essais. Mais l'utilisation des classes de ce source
demande des manipulations sur les postes des utilisateurs et cré des
failles de sécurité. Donc pas possible sur des diffusions en quantité et
sur des postes qui répondent à des exigences de sécurité non
transgressables. Dommage car l'idée me plaisait beaucoup....

--
En esperant t'avoir aidé.
ted
Posté le 18 août 2004 - 11:10
ted wrote:
Romuald Besset <info@rbesset.net> écrivait
news:41220118$1@news.pcsoft.fr:



Je me permet d'annoncer que le principe de transformation a été
pratiquement supprimé par notre ressource VBAExterne qui exploite
directement l'éditeur de macros... (copier le vba et le coller dans le
classeur !)


Salut,

j'ai fais quelques essais. Mais l'utilisation des classes de ce source
demande des manipulations sur les postes des utilisateurs et cré des
failles de sécurité. Donc pas possible sur des diffusions en quantité et
sur des postes qui répondent à des exigences de sécurité non
transgressables. Dommage car l'idée me plaisait beaucoup....


Bonjour et merci pour le test...
Evidement il doit être possible de modifier le paramètre de
configuration par programmation mais mes tests se sont arrété là !
En effet, il faut trouver comment modifier selon le besoin et pour le
seul instant de manipulation le paramètre sur les macros...

Si quelqu'un trouve, ne pas hésiter à me faire suivre...
++ R&B
Posté le 20 décembre 2004 - 18:13
super mais ça dit pas comment on rajoute un onglet snif! :(