PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Pourquoi objet ole plante si xl>>Visible=olefalse et pas quand xl>>Visible=OleTrue
Pourquoi objet ole plante si xl>>Visible=olefalse et pas quand xl>>Visible=OleTrue
Débuté par Joao, 20 mar. 2018 16:10 - 2 réponses
Posté le 20 mars 2018 - 16:10
Bonjour à tous,

J'ai plusieurs fonctions d'exportation vers Excel utilisant les objets OLE.

Et constate qu'elles plantent quand j'utilise :

xl is object OLE "excel.application"
xl>>Visible=Olefalse //CA ME FAIT PLANTER LA LIGNE SUIVANTE
xl>>Workbooks >> Add(FichierExcel)

Je dois faire
xl is object OLE "excel.application"
xl>>Visible=Oletrue //LA CA MARCHE
xl>>Workbooks >> Add(FichierExcel)

Avec OLETRUE le désavantage c'est la lenteur. Au moins 4 fois plus lent.

Sur mon poste Windows 8... avec Office 2007 32bit.
XLS , XLSX ou autre ne change pas

Merci
Membre enregistré
281 messages
Popularité : +24 (26 votes)
Posté le 20 mars 2018 - 19:12
Bonsoir,

J’utilise l’ole automation également pour piloter Excel et je n’utilise jamais de OleVrai/OleFaux mais simplement Vrai/Faux. Avez-vous essayé ?
Posté le 21 mars 2018 - 07:55
Bonjour Damien,

Oui j'ai essayé et il plante également. Voici le message d'erreur qui apparaît;

AVEC FALSE

Erreur à la ligne 41 du traitement Clic sur EXCEL.
Vous avez appelé la méthode Automation 'Add'.
En tentant d'invoquer la méthode <Add> ou de lire la propriété <Add>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80010105'
En tentant d'invoquer la méthode <Add>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80010105'
En tentant de lire la propriété <Add>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80010105'
En tentant d'écrire la propriété <Add>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80020003, Le membre demandé n'existe pas'

----- Informations techniques -----

Projet : tl2

Appel WL :
Traitement de 'Clic sur EXCEL' (donnees.EXCEL), ligne 41, thread 0

Que s'est-il passé ?
Vous avez appelé la méthode Automation 'Add'.
En tentant d'invoquer la méthode <Add> ou de lire la propriété <Add>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80010105'
En tentant d'invoquer la méthode <Add>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80010105'
En tentant de lire la propriété <Add>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80010105'
En tentant d'écrire la propriété <Add>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80020003, Le membre demandé n'existe pas'

Code erreur : 2205
Niveau : erreur fatale

Dump de l'erreur du module 'wd230vm.dll' (23.0.101.2).
Identifiant des informations détaillées (.err) : 130001
Informations supplémentaires :
EIT_PILEWL :
Clic sur EXCEL (donnees.EXCEL), ligne 41
Clic sur BT_Données (MAIN.BT_Données), ligne 1
EIT_DATEHEURE : 21/03/2018 07:51:53
EIT_TYPE_WDFILE : <2>
EIT_IDCODE : <18>

Assistance


Avec TRUE ça fonctionne aussi.