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

Signaler
Messages postés
2
Date d'inscription
vendredi 27 août 2021
Statut
Membre
Dernière intervention
2 septembre 2021
-
Messages postés
16277
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
16 septembre 2021
-
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

Messages postés
16277
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
16 septembre 2021
562
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.
Messages postés
2
Date d'inscription
vendredi 27 août 2021
Statut
Membre
Dernière intervention
2 septembre 2021

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
Messages postés
16277
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
16 septembre 2021
562 >
Messages postés
2
Date d'inscription
vendredi 27 août 2021
Statut
Membre
Dernière intervention
2 septembre 2021

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.