Bonjour
J'ai le problème suivant avec la méthode CL_Enr
Erreur à la ligne 9 du traitement Méthode CL_Enr.
L'objet sur lequel on accède au membre saved n'est pas un objet Automation.
Je ne vois pas ou se trouve la connerie
(surtout que je ne maitrise pas vraiment la classe…)
Mon code est le suivant
MonXl=allouer un cExcel(SysFenTitre(Handle()))
clImport est un objet cExcel(F_Envoi_Ligue)
//clImport:Visible(vrai)//rend invisible EXCEL
FichierImporté est un entier
FichierImporté=xlsOuvre(fRepExe()+"\Bordereau Licences.xls")
SI FichierImporté<0 ALORS
DélaiAvantFermeture(500)
Info("Impossible d'ouvrir le fichier spécifié")
FIN
HLitPremier(T_Association)
NomAsso est une chaîne
NuméroAsso est une chaîne
NomAsso=T_Association.Nom_Asso
NuméroAsso=T_Association.Numéro_Asso
clImport:Cell_EcritLC(12,3,NomAsso)
clImport:Cell_EcritLC(14,3,NuméroAsso)
clImport:CL_Enr(fRepExe()+"\B1.xls")
Le code de la méthode est
// Enregistre un classeur
PROCEDURE cExcel::Cl_Enr(sFicEnr)
// L'appel à cette procédure est du type :
// sFicEnr Fichier à ouvrir (chemin compris)
// Retourne une confirmation de l'enregistrement
SI PAS :xlActif ALORS RENVOYER Faux
SI sFicEnr="" ALORS RENVOYER Faux
// Le fichier en cours a-t-il été enregistré ?
c'est là que ça plante
SI :oXL>>ActiveWorkbook>>saved = OLEVrai ALORS RENVOYER Oui
// non : évalue la présence du fichier sur disque
SI fRep(sFicEnr)<>"" ALORS
// trouvé : enregistre une copie = pas de confirmation excel
QUAND EXCEPTION RENVOYER Faux
:oXL>>ActiveWorkBook>>SaveCopyAs(sFicEnr)
SINON
// pas trouvé : enregistrement
SI Majuscule(Gauche(:oXL>>ActiveWorkBook>>Name,5))="CLASS" OU...
Majuscule(:oXL>>ActiveWorkBook>>FullName)<>Majuscule(sFicEnr) OU Majuscule((:oXL>>ActiveWorkBook>>Name))="BORDEREAU LICENCES" ALORS
// Nouveau fichier ou nom <>
QUAND EXCEPTION RENVOYER Faux
:oXL>>ActiveWorkBook>>SaveAs(sFicEnr,1)
SINON
// Fichier déja nommé
QUAND EXCEPTION RENVOYER Faux
:oXL>>ActiveWorkBook>>Save()
FIN
FIN
// Bascule l'état d'enregistrement dans Excel
:oXL>>ActiveWorkBook>>Saved=OLEVrai
RENVOYER Vrai