![]() |
|
Forum
|
|
|
#1 (permalink) | ||
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 094
|
Bonsoir à tous et toutes
Tiens me voilà dans un truc qui me fait perdre un certain temps, si ce n'est pas un temps certain ! Je résume, je peux travailler sous Office 2003 et Office 2002... Rien de bien fracassant... J'ai un Programme qui fait ce genre de Chose : Citation:
Jusque là rien de bien extraordinaire.... J'ai développé ceci sous Excel 2003... Puis j'ai la bonne idée de faire des tests depuis un LapTop en réseau Wifi avec Office 2002 et Win XP Pro... Paf !! la référence est manquante 'MISSING Microsoft Outlook 11.0 Objects Library... Qu'à cela ne tienne je bascule manuellement sur la bonne référence (Microsoft Outlook 10.0 Objects Library) et je sauve mon Workbook, le ré-ouvre depuis ce LapTop, pas de soucis... Je ré-ouvre depuis une autre machine avec Office 2003... Je fais tourner ma Sub 'SendingDailyMail'... No souci, je ferme, no souci, je ré-ouvre depuis 2002... No Souci... Mais si jamais je sauve quand j'ai ce fichier sous 2003 et bien fini !! Ré_ouverture sous 2002 PAF !!! => MISSING Microsoft Outlook 11.0 Objects Library... Cette satanée référence bascule vers la version la Plus haute à la sauvegarde et devient manquante sur une version Inférieure ensuite... Donc à grand coup de renfort de Frédérique Sigonneau et Laurent Longre et tout ce que j'ai pu trouver sur le Net... j'ai écrit ceci : Citation:
Et re Paf !!! Non j'ai bien VBE qui voit cette référence 'IsBroken', mais du coup j'ai ce message très sympathique : 'Complie Error' => Can't find Project or Library' sur la Ligne : If .Item(i).IsBroken = True Then Ceci quand il a bouclé sur le 'i' à la position de cette fameuse référence à Outlook (que j'ai pris soin de mettre en dernière position de Priorité dans les références utilisées...) Par conséquent, isBroken, ne me semble pas adéquate, si il lui faut la référence à la Dll... (olb ici) Je m'amuse à ce petit jeu depuis 3 bonnes heures, et j'avoue que c'est assez énervant, surtout que j'ai beau essayer dans tous les sens, mais à chaque fois Paf et Re-Paf !! Est-ce que quelqu'un s'est déjà sorti de ce genre de galère, ou bien dois-je faire stopper systématiquement le déploiement d'Office 2003 tant qu'il restera des 2002 en exploitation ? Je vous remercie d'avance pour vos essais, remarques ou suggestions... Bonne Soirée @+Thierry |
||
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel 2003 (PC)
Messages: 874
|
Bonsoir Thierry, le forum,
La je dois avouer sincerement que je compatis, a plus forte raison que les Pafs et Re pafs, je les collectionnes depuis que j'ai eu l'idee saugrenue de vouloir vous imiter vous autres les exceliens en puissance... .Enfin, ceci pour dire que j'ai confiance et que, meme si ce n'est toi ce sera ton 'frere' excelien qui trouvera la solution. et comme chacun se plait a le repeter, tout est question de patience.... Bonne chance a toi Thierry ! Bonne soiree Olivier
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 094
|
Bonsoir Olivier
Merci pour ta 'compaticence' !!! oui les Pafs ne peuvent se traîter qu'avec patience, ça c'est sûr !, un peu comme tendre l'autre joue pour le re-paf lol Sinon cet algo d'enfer, il avance Olivier ? En tout cas tu auras capté pourquoi je n'avais pas trop de temps pour le générer ![]() Merci en tout cas @+Thierry |
|
|
|
|
|
#4 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 094
|
Re bonsoir le Forum, Olivier
Bon alors je me suis débrouillé... Mais je trouve que les explications de Microsoft sont assez ambigues quand même... Dans le cas d'un développement pouvant circuler de versions Ultérieures vers des version Antérieures et vice/versa, en fait il ne faut jamais faire instance aux Objets Directement : Dim OLApplication As Outlook.Application, OLMail As Outlook.MailItem Mais il faut simplement faire une une liaison tardive au lieu d'une liaison anticipée comme ci-dessus... Huum :whistle: En fait Microsoft explique pour ceci contourner ce problème : 'Une liaison tardive est recommandée pour l'automatisation de plusieurs versions d'une application Office depuis un client hors processus. L'implémentation initiale du membre révisé est également dans la nouvelle version de Microsoft Office et se trouve à la même position par rapport au début de l'interface. C'est pourquoi, un client Automation compilé avec une bibliothèque de types Office 97 fonctionne avec l'application Office 2000 ou version ultérieure'.... Donc dans le sens 'montant' no problèmo... Mais ensuite je lis ceci : 'Si vous développez un client Automation pour Microsoft Access 97 et 2000, vous ne devez pas utiliser une liaison anticipée : une liaison tardive est recommandée. Le modèle d'objet Access 2000 a été modifié de sorte à interrompre la compatibilité binaire (vtable) et Dispid. Toute application client qui utilise une liaison anticipée ou Dispid avec Access 97 peut cesser de fonctionner correctement en cas d'utilisation avec Access 2000....' Enfin en bref il ne faut pas faire d'instance aux Objects directement si l'application est en circulation sur différentes version d'Office... Par conséquent, je ne déclare aucune référence à la librairie Outlook, et mon code donne ceci : Citation:
C'est OK !!!! Je viens de faire tourner ce code sur 97 / 2000 / 2002 et 2003 et en sens descendant aussi en sauvant le fichier entre chaque machine. Ce que je suggère, lors d'un développement, faite quand même l'instance aux Objets dans les déclarations (liaison anticipée) pour pouvoir bénéficier de toutes les propriétés et méthodes s'afférant à l'objet ainsi que l'aide... Une fois que çà tourne sur votre configuration, 'saborder' les déclarations précises sur les Objets au profit de simples déclaration As Object... l'Option Explicit risque aussi d'avoir besoin d'être sabordé aussi... Et of course décochet la référence à la librairie de l'objet... Voilà encore un sacré dimanche, et je n'ai pas du tout fini mon projet, mais au moins je suis moins bête qu'hier !!! Bien à vous @+Thierry EDITION !!! Schmilblick avec l'URL de MS La voilà à part : http://support.microsoft.com/default...b;EN-US;244167 Message édité par: _Thierry, à: 19/06/2005 20:43 |
|
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel 2003 (PC)
Messages: 874
|
Bonsoir Thierry, le forum,
Heureux que tu ais pu ajouter quelques nouvelles notions parmis le milliers que cintiennent deja tes neurones. En ce qui concerne mon algo, j'avais plein de courage, mais une autre urgence histoire de me rendre utile a un excelien dans la detresse (entre nous peut etre est ce pire maintenant :woohoo: ) J'ai donc remis mon algo a demain, on dit souvent que la nuit porte conseil, je vais essayer d'en profiter. Bonne soiree Olivier
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! |
|
|
|
| ANNONCES | |
![]() |
| Outils de la discussion | |
|
|