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 :

C# et Office - Probleme de DLL


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 37
    Points : 31
    Points
    31
    Par défaut C# et Office - Probleme de DLL
    Bonjour à tous,

    Je développe actuellement une application en C#, qui a un moment donné ouvre et crée un document Word.

    J'ai donc pour cela récupéré la dll "Microsoft Office 14.0 Object Library". Tout marche tres bien mais cette dll est faite pour Office 2010.

    Donc lorsque je teste mon appli sur un PC ayant Word 2003 ou 2007, elle ne compile pas et plante.

    Comment assurer le bon fonctionnement de mon appli quelque soit la version de Word installée sur le PC ?

    Merci d'avance

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Je pense qu'il faut charger la DLL qui corresponds à la version de Word, il n'y a pas d'autres solutions. C'est en gros ce qui est fait avec les PIA lorsque l'on utilise VSTO pour faire du dev office

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 37
    Points : 31
    Points
    31
    Par défaut
    Merci de votre réponse,

    Pouvez-vous m'expliquer comment faire concretement ?

  4. #4
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Je crois qu'en fait VS créer un wrapper sur l'exe de Office installer sur ton poste lorsque tu lui ajoutes cette DLL. Donc le plus simple c'est de développer avec la même configuration que celle de la cible ainsi ton wrapper généré par VS sera le bon.

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    où tu peux utiliser des librairie externe qui seront inclus dans ton appli comme ça elle fonctionneras peut importe si office est installé ou non

  6. #6
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Citation Envoyé par NicoL__ Voir le message
    Je crois qu'en fait VS créer un wrapper sur l'exe de Office installer sur ton poste lorsque tu lui ajoutes cette DLL. Donc le plus simple c'est de développer avec la même configuration que celle de la cible ainsi ton wrapper généré par VS sera le bon.
    Donc l'appli ne fonctionne qu'avec une version de Word ?
    Tu ne peux pas dire à un client d'acheter telle ou telle version pour que ton programme fonctionne !
    Je ne connais pas ce cas - jamais eu à le faire - mais ça me semble bizarre que ce soit si fortement lié. Tu changes de word tu dois refaire le programme ? Inversement, ton client doit acheter le même word que toi ??? J'espère que tu offres les licences dans ce cas.
    Après ça dépend du contexte, tu peux être dans une entreprise, avec une version donnée de word, donc pour les autres tu t'en moque et tu attendras d'avoir des nouveaux postes pour faire une nouvelle version.
    Il n'y aurait pas moyen d'implémenter des dll chargées dynamiquement selon le contexte logitiel de la machine ?

  7. #7
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Salut

    Dans ton programme, il faut que tu ajoutes les dlls (copier/coller) et que tu fasses références à ces DLLs, pas celles qui se trouvent dans le GAC. Penses à ajouter le référence Office.Dll

  8. #8
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Donc l'appli ne fonctionne qu'avec une version de Word ?
    Tu ne peux pas dire à un client d'acheter telle ou telle version pour que ton programme fonctionne !
    Je ne connais pas ce cas - jamais eu à le faire - mais ça me semble bizarre que ce soit si fortement lié. Tu changes de word tu dois refaire le programme ? Inversement, ton client doit acheter le même word que toi ??? J'espère que tu offres les licences dans ce cas.
    En fait oui, Microsoft est pas super cool question licence, s'il te permettait de faire une dll avec Office, ça fait longtemps qu'un petit rigolo aurait créé un Office.net gratuit et en plus il monterais en version à chaque version d'Office gratos. On est pas dans l'open source, ici on parle du produit phare de Microsoft que tu pourrait distribuer en .net grâce à un autre produit Microsoft...
    Après, pour l'avoir fait, le code ne change pas mais il faut refaire une version avec VS pour que cela marche avec un autre version de Word.

    http://msdn.microsoft.com/en-us/library/15s06t57.aspx

    Donc cela créé juste un wrapper COM pour utiliser les fonctionnalités d'Office déjà installées sur le poste et non une dll ayant les fonctionnalités d'Office.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    salut il te suffit tout simplement de copier et coller ces 2 dll dans le repertoire de ton proejt : Interop.Microsoft.Office.Core.dll et Interop.Microsoft.Office.Interop.Word.dll
    puis tu les ajoute dans tes references!

Discussions similaires

  1. [Débutant] Probleme avec Silverlight et Microsoft.Office.Interop.Word.dll
    Par manal00 dans le forum Silverlight
    Réponses: 0
    Dernier message: 20/06/2012, 13h42
  2. Problème de dll
    Par argon dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 23/04/2006, 22h19
  3. Probleme sur DLL & VCL
    Par Romain² dans le forum Langage
    Réponses: 4
    Dernier message: 03/04/2006, 18h10
  4. Probleme: recompilation DLL en VB6 impossible
    Par balibo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 04/11/2005, 10h16
  5. [CR] Probleme avec Dll P2oledb.dll
    Par malban dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 30/08/2004, 09h10

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