IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

VB6 impossible d'instancier un objet MS Office 365 - Word, Excel ou Outlook application


Sujet :

VB 6 et antérieur

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 295
    Par défaut VB6 impossible d'instancier un objet MS Office 365 - Word, Excel ou Outlook application
    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

    Cpf

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 295
    Par défaut
    Bonjour,

    Je vois que personne ne réagit !
    Soit ce n'est pas clair, soit personne n'a d'idée là-dessus ?

    Merci

    cpf

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur .net - Office - Quadiant
    Inscrit en
    Février 2020
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur .net - Office - Quadiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2020
    Messages : 622
    Par défaut
    Bonjour,

    Je n'ai plus VB6 sur mon PC (je suis passé en vb.net), mais Office 365 oui, as-tu fait une installation en client lourd ?

    ONTAYG

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Par défaut Probleme VB6 et office 2021
    Bonjour cpf2006, as-tu résolu ton problème depuis 2021 ?
    Je me heurte à la même chose avec des applications écrites en VB6 depuis l'installation d'office 2021.
    Merci

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 537
    Par défaut
    Soit c'est un problème d'enregistrement de dll (réparer l'installation d'office peut aider à résoudre le souci)
    Soit il faut changer la façon de créer l'objet
    (ou les deux)
    ce code devrait fonctionner quelque soit la version d'Excel installé (utilisation du late binding), le seul inconvénient, c'est que l'on perd l'autocompletion/intellisense:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim xlApp as Object
    Dim ws as object
    Set xlApp= CreateObject("Excel.Application")
    Set ws = CreateObject("Excel.Worksheet")
     
    xlApp.visible=True ' pour afficher l'instance d'Excel
    ...
    xlApp.Quiit 'ferme Excel
    Set xlApp = Nothing

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Par défaut
    Merci de ta réponse mais elle ne va pas beaucoup m'aider, j'ai déjà fait tout ce que tu préconises et sans succès.
    Je pense que le problème vient de ce que Office2021 pro Plus travaille uniquement en 64 bits et que VB6 ne peut accéder aux bibliothèques d'excel.
    J'ai essayé d'installer par dessus une version en 32 bits mais Office n'accepte pas la présence de 2 versions différente sur le même disque.
    J'ai donc installé Office 2016 en 32 bits et ça fonctionne nickel, tant pis pour mes 16€ dépensés dans le prix d'Office 2021 sur Codesproduit.fr.
    Bonne journée

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 537
    Par défaut
    mon test fonctionne alors que j'ai office 365 en 64 bits.
    ça vient peut-être aussi de ta version d'office 2021 si elle est en click to run ou en msi

Discussions similaires

  1. [XL-365] Bloquer visuellement la gestion des objets en Office 365
    Par sass666 dans le forum Excel
    Réponses: 0
    Dernier message: 11/05/2021, 14h41
  2. Réponses: 2
    Dernier message: 12/09/2017, 15h52
  3. [Reflection] Instancier un objet
    Par bl@st dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 28/10/2008, 11h09
  4. [VB6] Sauvegarder une collection d'objets
    Par Sayagh dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/09/2003, 11h58
  5. [VB6][DoVerb]Lancer automatiquement un objet OLE
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/11/2002, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo