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

MFC Discussion :

Automation Excel et VS.NET 2005


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Par défaut Automation Excel et VS.NET 2005
    Bonjour,

    je m'en remets a vos bons soins, je ne sais plus comment faire que que ca fonctionne...
    Je suis avec VS 2005, j'essaye de faire fonctionner les exemples de MS pour l'automation de Excel, mais rien n'y fait...
    • Je crée une classe depuis une typelib,
    • Je choisis Micrisoft Excel 9.0 Object Library
    • J'ajoute _Application dans Generated classes (juste celle là)
    Jusque la, tout va bien. Mais il suffit que je rajoute #include "CApplication.h" pour que tout aille de travers...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    excel9.tlh(982) : error C2371: 'FontPtr' : redefinition; different basic types
    comdef.h(312) : see declaration of 'FontPtr'
    excel9.tlh(1060) : error C2786: 'BOOL (__stdcall *)(HDC,int,int,int,int)' : invalid operand for __uuidof
    excel9.tlh(1060) : error C2923: '_com_IIID' : 'Rectangle' is not a valid template type argument for parameter '_Interface'
    wingdi.h(3514) : see declaration of 'Rectangle'
    excel9.tlh(1060) : error C3203: '_com_IIID' : unspecialized class template can't be used as a template argument for template parameter '_IIID', expected a real type
    excel9.tlh(1064) : error C2786: 'BOOL (__stdcall *)(HDC,int,int,int,int,int,int,int,int)' : invalid operand for __uuidof
    Voila donc ce que je me traine (et encore, j'en ai enlevé), et que je tente de glaner des informations pour résoudre cela...

    Chez MS, tous les exemples fournis sont pour VC++ 6 et inférieur. Mais rien traitant de cela pour VS2005.

    Auriez vous une idée ???

  2. #2
    mat.M
    Invité(e)
    Par défaut
    Essayer en faisant #import chemin_fichier_tlb + rename namespace nom_obj_excel

    Puis avec CoInitialize + QueryInterface nom_obj_excel

    Si QueryInterface ne fonctionne pas c'est que VS2005 ne supporte pas COM ou alors il faut installer des composants ( lib et include ) supplémentaires

  3. #3
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Mais lorsque tu exclus le CApplications.h qu'est ce que tu as. Car dans les messages d'erreurs je vois des redéfinitions. Et puis pour les classes générés à partir des tlb, le compilateur se charge de générer les .h et de les prendre en compte au moment du link.

    Si QueryInterface ne fonctionne pas c'est que VS2005 ne supporte pas COM ou alors il faut installer des composants ( lib et include ) supplémentaires
    Dire que VS 2005 ne supporterait pas COM s'est un peu sévère comme conclusion.

Discussions similaires

  1. Macro Excel 2007 dans VB.net 2005
    Par peregna2007 dans le forum VB.NET
    Réponses: 2
    Dernier message: 12/08/2008, 22h35
  2. Réponses: 2
    Dernier message: 08/01/2008, 11h34
  3. [vb.net 2005 XE] activer les brodures de cellules excel
    Par kinganasius dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/04/2007, 16h37
  4. [VB.NET 2005 XE] automation MSWORD trop lente
    Par kinganasius dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/03/2007, 14h21
  5. [vb.net 2005] automation MS word trop lente !
    Par kinganasius dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/03/2007, 14h14

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