Impossible d'instancier un objet Office 365 - Word, Excel ou Outlook application

cpf_ Messages postés 2 Date d'inscription vendredi 27 août 2021 Statut Membre Dernière intervention 2 septembre 2021 - 27 août 2021 à 14:17
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 2 sept. 2021 à 11:52
Bonjour,
J'ai un important exécutable écrit en VB6.
Depuis l'installation de Office 365, impossible d'instancier un object Word, Excel ou Outlook.

Dans "outils/references", les objects du type "MS Word 16", "MS Excel 16" et "MS Outlook 16" ne s'y trouvaient pas après l'installation d'Office 365.
Je les ai donc ajoutés en allant les chercher là où ils se trouvent à savoir :
"C:\Program Files\Microsoft Office\root\Office16\"
Il s'agit des fichiers : Excel.exe, MSWORD.OLB et MSOUT.OLB

J'ai pu compiler sans erreur l’exécutable mais au moment d'instancier les objets, j'ai le message :
"Error 429 ActiveX component can't create object"

Lorsque je vais dans "View/Object Browsser" et que je fais une recherche dans les librairies d'une des 3 librairies citées ci-dessus, les descriptions de celles-ci ne reprennent que le nom de la librairie et PAS les chemins des celles-ci

par exemple, une recherche sur "outlook" me donne :

"Microsfoft Outlook 16.0 Object Library"

mais pas le chemin

Tandis que pour les autres librairies, j'ai le chemin comme par exemple avec "VB" :

"C:\program files (x86)\Microsoft Visual Studio\VB98\VB6.OLB"
"Visual Basic Objects and procedures"

Lorsque j'ouvre avec un éditeur (notepad++) le fichier vb6 "blabla.vbp", les descriptions des librairies et leur chemin s'y trouvent, également pour les 3 librairies Office.
C'est comme si VB6 ne voulait pas les prendre en charge

Je me demande quelle en est la raison ?
Si ce n'est tout simplement pas parce qu'elles sont installées dans "program Files" et non "program files (x86)", c'est à dire parce qu'elle tourne en 64 bits au lieu de 32 bits ?

Merci d'avance pour vos éclaircissements

1 réponse

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
27 août 2021 à 22:36
Bonjour

Une hypothèse: Microsoft a annoncé l’abandon de vb6 en 2001. L’Ide a été maintenu jusqu’en 2007. Mais dès 2001 Microsoft ne garantissait plus de compatibilité avec leurs nouveaux logiciels et OS.
Il est donc possible que les librairies d’office 365 ne soient plus du tout compatibles avec vb6.
0
cpf_ Messages postés 2 Date d'inscription vendredi 27 août 2021 Statut Membre Dernière intervention 2 septembre 2021
2 sept. 2021 à 10:54
Bonjour,

Je suis certain qu'il y a une solution.
J'ai bien pu instancier des objets Word, excel et outlook dans VB6 avec Office 2013.
Je ne vois pas pourquoi cela ne serait plus possible alors que les fichiers existent bel et bien.
Je crois que le problème se trouve plutôt au niveau du path ou d'un paramètre à activer ...

Merci d'avance
cpf
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656 > cpf_ Messages postés 2 Date d'inscription vendredi 27 août 2021 Statut Membre Dernière intervention 2 septembre 2021
2 sept. 2021 à 11:52
Mon hypothèse n’a rien à avec les fichiers mais avec l’api automention d’office
Pour office 2013 c’était juste une mise à jour des précédentes, du coup la compatibilité avec vb6 a été conservée.

Pour 360 qui est totalement refondu pour être à la fois une appli desktop, mobile et web avec plein d’outils cloud, je suppose (peut-être à tord je te l’accorde) que l’api à due elle aussi être refondue. Et que là, puisque pour eux c’est un langage mort, ils ne se sont pas attachés à garder la compatibilité avec vb6. Il suffit que les dll soient des dlls .Net et c’est mort.
0
Rejoignez-nous