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

VBA Access Discussion :

References VBA: remove from GUID


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Développeur
    Inscrit en
    Août 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2006
    Messages : 94
    Par défaut References VBA: remove from GUID
    Bonjour a tous,

    je cherche a effacer une référence VBA automatiquement au lancement d'une appli mde (la ref est Microsoft Excel 12.0, ie 2007).

    Mon appli front toune sur plusieurs postes utilisateurs, dont certains utilisent office 2003 (ref microsoft Excel 11.0).
    Quant a moi, mon poste de developpeur est équipé d'office 2007 (ref Microsoft Excel 12.0)

    Pour eviter une erreur au lancement sur le poste utilisateur, je cherche donc a effacer la référence 12.0 pour la remplacer par la 11.0.

    Deux étapes pour cela:
    1. je supprime la ref 12.0 -----> PROBLEME !
    2. j'ajoute la ref 11.0 (avec AddFromGUID...) ----> fonctionne tres bien prise a part

    L'étape 1 me pose probleme ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.VBE.ActiveVBProject.References.Remove ref
    où ref est du type Object, et est identifié par le bon GUID et le bon major.minor (i.e. 1.6)

    Access me déclenche la fameuse erreur #48 "Erreur de chargement de la DLL"

    Existe-t-il un moyen de faire un remove par GUID ? (de la meme facon que le AddFromGuid)
    Ou bien auriez-vous des idées sur la facon dont procéder ?

    Merci d'avance !!!

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Par défaut J'ai le même problème
    Bonjour,
    J'ai le même problème, avec des postes tout Office2003, d'autres Outlook2003 Access2007 et d'autres tout Office2007 sur un autre disque.

    Les références Excel et Outlook sont en erreur. J'ai essayé plusieurs exemple de code trouvés sur le net, mais cela ne marche pas.

    Merci d'avance pour la réponse

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Par défaut
    Bonsoir ,
    d'après mes souvenirs le GUID stipule une entrée dans la base de registre.
    Donc, tenter de supprimer une référence Excel 2007 d'après son GUID sur un poste équipé uniquement d'Office 2003 ne peut que renvoyer une erreur, le GUID n'étant pas présent dans la base de registre.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 047
    Par défaut
    bonjour,
    il semblerait d'après les nombreuses réponses de ce site qu'il est impossible de rajouter ou d'enlever des références à un fichier mde qui est compilé.
    l'une des solutions proposée par "le vieux" est de copier le fichier de dll à une place bien précise ou la référence sera liée.
    Bonne journée.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Par défaut
    Bonjour,
    Merci pour le tuyau.

    J'ai copié les 3 fichiers msoutl.olb, excel.exe et msador15.dll de la version 2007 dans un répertoire de l'application et j'ai rajouté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        On Error Resume Next 'Si elles sont présentes on continue
        Application.References.AddFromFile (gRepApp & "\_REFERENCES\excel.exe")
        Application.References.AddFromFile (gRepApp & "\_REFERENCES\msoutl.olb")
        Application.References.AddFromFile (gRepApp & "\_REFERENCES\msador15.dll")
    J'ai essayé sur un poste full 2007 et un full 2003. Ca ne marche pas. Je me retrouve avec les références marquées "MANQUANT..." en 2003.
    Ou plus précisément ça ne marche pas à tous les coups. De temps en temps il va chercher la référence dans le répertoire standard d'office du 2007 (c:\program files (x86)\...)
    NB c'est un Vista X64 pour OF2007, l'autre est un XP en OF2003

    Une idée `de ce que je n'ai pas fait correctement ?

Discussions similaires

  1. [2.x] Remove from huge doctrine collection
    Par Nico_F dans le forum Symfony
    Réponses: 2
    Dernier message: 25/06/2014, 11h58
  2. VBA User From
    Par thomassito dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 04/06/2014, 16h27
  3. CVS : "Remove from view" définitif
    Par Neilime05 dans le forum Eclipse
    Réponses: 11
    Dernier message: 27/10/2010, 11h25
  4. Réponses: 5
    Dernier message: 29/11/2007, 01h58
  5. [VBA-E] Ajouter une reference par le code
    Par mustang-ffw02 dans le forum Installation, Déploiement et Sécurité
    Réponses: 12
    Dernier message: 21/11/2006, 19h28

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