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

C# Discussion :

version office (automation) et c#


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 94
    Points
    94
    Par défaut version office (automation) et c#
    salut à tous

    j'utilise c# pour l'automatisation d'office sa marche mais les using dépondent de la vérsion d'Excel :

    1- avec excel 2003....il faux utiliser : using Microsoft.Office.Core; et pas autre chose.
    2-avec Excel 2007, ou autre il écrir :using Excel = Microsoft.Office.Interop.Excel;

    Interop n'est pas reconnu dans Excel 2003.

    ma question : comment ecrir un programme qui peut etre installé sur une machine dont on connais pas la version à l'avance.

    merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Tu fais 2 versions : une pour chaque version d'office
    Pas la peine de dupliquer le code, tu peux écrire quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #if EXCEL2003
    using Microsoft.Office.Core;
    #elif EXCEL2007
    using Microsoft.Office.Interop.Excel;
    #endif
    Tu définis les symboles de compilation conditionnelle dans la page "Générer" des propriétés du projet.
    Pour que ce soit plus pratique, tu peux gérer ça avec les configurations (pas disponible dans les versions Express) : menu Générer, Gestionnaire de configurations. Tu en crées une pour chaque version, et tu mets des symboles de compilation différents dans chaque

  3. #3
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    hmmm...

    c'est bizarre, ton truc, parce que j'ai fait de l'automation word encore cet apres midi, en 2003, et on utilise bien Microsoft.Office.Interop.Excel



    Par contre, vu que en 2003, tu reference la version 11 et en 2007, la version 12, le pb peut venir de la...

    a la reflexion, je crois qu'en plus, Microsoft.Office.Core est une dll de VSTO ....

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Tu fais 2 versions : une pour chaque version d'office
    Pas la peine de dupliquer le code, tu peux écrire quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #if EXCEL2003
    using Microsoft.Office.Core;
    #elif EXCEL2007
    using Microsoft.Office.Interop.Excel;
    #endif
    Tu définis les symboles de compilation conditionnelle dans la page "Générer" des propriétés du projet.
    Pour que ce soit plus pratique, tu peux gérer ça avec les configurations (pas disponible dans les versions Express) : menu Générer, Gestionnaire de configurations. Tu en crées une pour chaque version, et tu mets des symboles de compilation différents dans chaque

    c'est ce que je vais tester.........MERCI

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Tu fais 2 versions : une pour chaque version d'office
    Pas la peine de dupliquer le code, tu peux écrire quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #if EXCEL2003
    using Microsoft.Office.Core;
    #elif EXCEL2007
    using Microsoft.Office.Interop.Excel;
    #endif
    Tu définis les symboles de compilation conditionnelle dans la page "Générer" des propriétés du projet.
    Pour que ce soit plus pratique, tu peux gérer ça avec les configurations (pas disponible dans les versions Express) : menu Générer, Gestionnaire de configurations. Tu en crées une pour chaque version, et tu mets des symboles de compilation différents dans chaque

    Pardon j'ai parlé trop vite...

    j'utilise la version Express

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

Discussions similaires

  1. Trouve la version office 2007
    Par neuneu1 dans le forum Word
    Réponses: 3
    Dernier message: 14/01/2010, 08h10
  2. Réponses: 4
    Dernier message: 20/02/2009, 14h44
  3. Compiler pour une autre version Office
    Par Pascal Lob dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/12/2008, 18h22
  4. Test de la version Office
    Par Tibaldus dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 22/02/2008, 16h48
  5. Réponses: 4
    Dernier message: 08/11/2005, 21h19

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