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

Macros et VBA Excel Discussion :

vba et références dll


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    DSI
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Par défaut vba et références dll
    Edit AlainTech: Message sorti de cette discussion.

    Bonjour,

    J'ai bien suivi la procédure d'ajout une DLL aux références, mais il me donne un message genre "Erreur de chargement de DLL".

    Même si je tente de la charger manuellement dans le menu Références, j'obtiens le message "Impossible d'ajouter une référence au fichier spécifié".

    Sachant que ma DLL est une bibliothèque de classe en c# (.Net) qui possède des références (System.data).

    J'ai beau essayé son enregistrement (inutile normalement) avec Regasm, aucun effet.

    Merci de votre aide.

  2. #2
    Membre averti
    Profil pro
    DSI
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Par défaut
    J'ai pu résoudre mon problème en utilisant une classe com dans ma dll, soit en utilisant le template "Class Com" en VBA soit en ajoutant l'en-tête suivant en C#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        [Guid("2019CD9C-C1A6-4939-A9C4-B37CF968E3C3")]
        [ClassInterface(ClassInterfaceType.AutoDual)]
        [ComVisible(true)]
    Il faut noter qu'il est peut être important d'ajouter les méthodes d'enregistrement du COM comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
          #region Com Enregistrement
     
            [ComRegisterFunctionAttribute]
            public static void RegisterFunction(Type type)
            {
                Registry.ClassesRoot.CreateSubKey(
                GetSubKeyName(type, "Programmable"));
                RegistryKey key = Registry.ClassesRoot.OpenSubKey(GetSubKeyName(type, "InprocServer32"), true);
                key.SetValue("", System.Environment.SystemDirectory + @"\mscoree.dll", RegistryValueKind.String);
            }
     
            [ComUnregisterFunctionAttribute]
            public static void UnregisterFunction(Type type)
            {
                Registry.ClassesRoot.DeleteSubKey(GetSubKeyName(type, "Programmable"), false);
            }
     
            private static string GetSubKeyName(Type type, string subKeyName)
            {
                System.Text.StringBuilder s = new System.Text.StringBuilder();
                s.Append(@"CLSID\{");
                s.Append(type.GUID.ToString().ToUpper());
                s.Append(@"}\");
                s.Append(subKeyName);
     
                return s.ToString();
            }
     
            #endregion

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. vba et références dll
    Par s.n.a.f.u dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/10/2008, 11h16
  2. [VBA-E] référence Pour fonction Excel
    Par illight dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 19/04/2006, 14h29
  3. [VBA-E]Référence à activer pour OLEObject
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/04/2006, 10h34
  4. VBA Excel : références
    Par EJO64 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/01/2006, 13h33
  5. [Excel/VBA] Pb avec DLL
    Par Theocourant dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/11/2005, 13h49

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