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

Delphi Discussion :

DLL utilisée par Excel [FAQ]


Sujet :

Delphi

  1. #1
    Membre chevronné Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 343
    Par défaut DLL utilisée par Excel
    Bonjour,

    Je souhaiterais créer une DLL pour fournir de nouvelles fonctions à Excel. Je débute en Delphi et il me semble que la création de DLL pour les applications MS soit plus complexe que pour l'utilisation par un executable créé en Delphi.

    Quels sont les règles à respecter pour créer une DLL en *.xll (DLL d'Excel) ?

    Merci pour vos réponses.

  2. #2
    Membre chevronné Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 343
    Par défaut Nouvel Appel !!
    En fait j'aimerais ecrire une DLL qui puisse être chargée "simplement" dans Excel à partir du menu Outils > Macros Complémentaires > Parcourir ... : pour cela il faut une dll avec l'extension .xll.

    Dans l'aide de Miscrosoft (http://support.microsoft.com/kb/178474/en-us), l'aide est en C++. Quelqu'un pourrait-il m'aider ?

  3. #3
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Qu'est-ce qui te pose problème, la construction de la dll ou l'écriture du code delphi utilisant Excel ?

  4. #4
    Membre chevronné Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 343
    Par défaut
    Bonjour,

    J'apprends le Delphi au fur et à mesure de mes besoins, n'ayant pas de formation en programmation. Donc, pour construire une DLL (en générale) je me baserais sur les exemples des bouquins qui montrent comment exporter des fonctions d'une DLL crée en Delphi vers un executable créé en Delphi.

    En adaptant ces exemples, j'ai essayer de construire une DLL pour Excel, mais elle est considérée comme invalide.

    Pour l'exemple, je voulais une fonction qui double la valeur de l'argument passé à la fonction : voilà ce que j'ai écrit :

    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
    library MyBasicDLL;
     
    uses
     
      SysUtils,
      Classes;
     
     
    {$R *.res}
     
     
    function MyBasicFoo(r : Real) : Real; stdcall;
    begin
      Result := 2 * r;
    end;
     
    exports
      MyBasicFoo;
     
    end.
    Faut-il créer des fonctions telles que xlAutoOpen()... et si oui, que doivent-elles faire ?

    Merci de m'aider à comprendre où sont mes erreurs.

  5. #5
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Je n'ai jamais réalisé une dll pour Excel mais le résultat de la dll, c'est du code compilé et que la source soit en C ou en Delphi n'y change rien.
    Je suivrais donc les étapes de l'exemple donné en C en remplacant la source en C par ta source en Delphi.

  6. #6
    Membre chevronné Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 343
    Par défaut
    J'attends les réultats de ton expérience avec impatience !!! MERCI

  7. #7
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    En général, si la XLL s'appelle comme ça et non pas DLL c'est qu'il y a une raison
    J'avais fait des plugins pour AutoCAD (fichiers ARX) et comme son nom l'indique, c'étaient des DLL mais avec un prototype bien défini. Si ta XLL ne contient pas les fonctions requises exportées, elle n'est pas compatible
    Il te faut donc savoir de quelle fonctions exportées Excel a besoin pour reconnaitre la XLL.

    Bon courage
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  8. #8
    Membre chevronné Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 343
    Par défaut
    Où peut-on trouver ces infos pour Delphi ? Car le site de MS donne un exemple en C++ pour Visual C++ et je ne parle pas (encore ?) cette langue ... mais il ne détaille pas les besoins d'Excel (p. ex. : telle fonction renvoyant telle valeur de tel type, ...)

    Merci

  9. #9
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    D'après ce que j'ai pu voir, il faut que la DLL contienne et exporte ces fonctions:
    xlAutoOpen
    xlAutoClose
    xlAddInManagerInfo
    MyMotd
    MyFunc
    "Y a plus qu'à" savoir ce qu'il faut qu'elles fassent En d'autres termes, si tu ne connais pas un petit peu le C++, laisse tomber cette entreprise Et si comme tu le dis, tu débutes en programmation, tu ne trouves pas que ce que tu veux faire est un peu difficile pour un débutant?
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  10. #10
    Membre chevronné Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 343
    Par défaut
    A vaincre sans péril, on triomphe sans gloire
    Je suis d'accord avec toi : il y a "quelques" obstacles à franchir ...

  11. #11
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par archonte
    A vaincre sans péril, on triomphe sans gloire
    Tout à fait !

    Déjà lire la doc, ou tout du moins un début :
    http://msdn2.microsoft.com/en-us/lib...ffice.10).aspx

    Un squellette d'appli Delphi
    http://www.swissdelphicenter.ch/torr...ode.php?id=881

    Tu trouveras peut être qq infos ici :
    http://www.gekko-software.nl/Publications.aspx
    Code source VB déjà plus aisé à traduire que le C++
    enfin une liste de liens
    http://support.microsoft.com/?kbid=291163

    et si tu es pressé
    http://groups.google.com/group/borla...1661572a9bbf4c


  12. #12
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    bonjour,

    peut-être des éléments ici :


    http://www.howtodothings.com/compute...in-delphi.html

    @++
    Dany

  13. #13
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Citation Envoyé par archonte
    A vaincre sans péril, on triomphe sans gloire
    Certes mais qui veut aller loin ménage sa monture et chaque jour suffit sa peine
    Je persiste à dire que ce sujet est trop compliqué pour un débutant
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  14. #14
    Membre chevronné Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 343
    Par défaut MERCI à TOUS
    Merci pour vos conseils, j'ai appris par l'exemple à créer une DLL pour Excel (et ça marche !!!). Et en plus j'ai approndi mes connaissances en Delphi.

    Tout Bon.

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

Discussions similaires

  1. DLL utilisées par une application Qt
    Par black_hole dans le forum Débuter
    Réponses: 2
    Dernier message: 15/01/2013, 10h43
  2. [IIS 7.5] Autoriser l'utilisation d'excel par une DLL COM+
    Par [DreaMs] dans le forum IIS
    Réponses: 0
    Dernier message: 05/03/2012, 21h15
  3. Réponses: 4
    Dernier message: 02/12/2011, 14h52
  4. Réponses: 8
    Dernier message: 30/11/2009, 18h29
  5. Réponses: 3
    Dernier message: 03/09/2008, 15h09

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