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 :

Add-in pour Office, mais plusieurs versions d'Office


Sujet :

C#

  1. #1
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut Add-in pour Office, mais plusieurs versions d'Office
    Bonjour,

    Ma question va paraitre bête mais je doit créér un nouvel Add-in pour Office mais quand je créer un projet sous Visual (2005), il n'y a aucune notion de versionning Office....

    En fait je suis sur un poste avec office 2007, mais les utilisateurs finaux auront des versions 2000 et 2003 d'Office.

    Je peux créer mon add-in sur mon poste et le déployer chez n'importe qui sans soucis ou je vais devoir faire différence version de mon add-in ??

    Autre question : est-ce que mon add-in peut agir/intercepter les events tels que NewDocument (création de document) et SaveAs sur les différents produits Word, Excel et Powerpoint par exemple ?

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Je pense que tu peux faire un addin pour toutes les versions du moment que tu ne fait qu'utiliser ce qui est disponible sous 2000.
    En effet je dirait que c'est à version limitante et ton addin buguera si tu utilises des méthodes non existante pour office 2000.

    Je te renvois à l'aide msdn.

    A mon avis tu seras malheuresement assez limité pour certain soft de la suite office !!!

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Sinon, tu développes un Shared Addin

  4. #4
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Ok pour le shared Add-in, j'ai vu sur le tuto de Louis Guillaume qu'il passait par ça pour les créer.

    Ma deuxième question reste en suspens... Le but de mon add-in c'est de demander aux utilisateurs diverses infos à la création d'un document Word afin de classer et nommer le nouveau document.. Il faut donc que mon add-in se déclenche sur chaque création... c'est faisable ça ou pas du tout à partir d'un add-in ?

    En fait j'ai réussi à faire ça avec une macro, mais je voudrais savoir si par un add-in c'est jouable

  5. #5
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Il est possible d'intercepter les commandes Word pour effectuer une action avant, voir pour les annuler.

    Par exemple pour intercepter la commande Nouveau Doc, dans le xml du ruban tu écris:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="UTF-8"?>
    <customUI xmlns="<a href="http://schemas.microsoft.com/office/2006/01/customui" target="_blank">http://schemas.microsoft.com/office/2006/01/customui</a>" onLoad="Ribbon_Load">
      <commands>
        <command idMso="FileNew" onAction="myNew"/>
      </commands>
    </customUI>

    La méthode associée:
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public void myNew(IRibbonControl control, ref bool CancelDefault)
    {
        MessageBox.Show("Hello!");
        //pour afficher la boite de dialogue de Word après
        CancelDefault = false;
    }

  6. #6
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Merci, avec ça j'ai la solution pour du 2007, sur de l'office 2000 je pourrais pas faire comme ça par contre :s

  7. #7
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Avec un share addin, regarde si tu ne peux pas catcher un event du genre BeforeOpen ou un truc du genre

  8. #8
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    oui, il va falloir que je regarde ça de plus près

    Merci pour vos réponses !!!

  9. #9
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    C'est bon j'ai trouvé comment attraper les events.

    Je suis partie sur un shared add-in
    Dans le OnConnection j'ai placé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Type applicationType = applicationObject.GetType();
    string appName = (string)applicationType.InvokeMember("Name", BindingFlags.GetProperty, null, applicationObject, null);
     
    if (appName.Contains(" Word"))
    {
        // add the NewDocument event handler 
        // cast it to Word.ApplicationEvents3_Event object 
        Microsoft.Office.Interop.Word.ApplicationEvents3_Event aee = (Microsoft.Office.Interop.Word.ApplicationEvents3_Event)applicationObject;
        aee.NewDocument += new Microsoft.Office.Interop.Word.ApplicationEvents3_NewDocumentEventHandler(aee_NewDocument);
    }
    J'ai ma méthode appelée sur l'event New :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void aee_NewDocument(Microsoft.Office.Interop.Word.Document Doc)
    {
    MessageBox.Show("Je catche l'évent New");
    }
    Et quand je démarre Word et que je crée un nouveau document ma messageBox s'affiche (sur office 2003 et office 2007... pas de office 2000 sous la main )

    Et c'est possible de l'appliquer sur chaque "Type" office, Excel, PowerPoint et autres

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

Discussions similaires

  1. Le SDK Open XML 2.0 pour Microsoft Office disponible en version RTM
    Par Gordon Fowler dans le forum Actualités
    Réponses: 1
    Dernier message: 24/03/2010, 10h30
  2. Réponses: 5
    Dernier message: 19/02/2010, 16h33
  3. Réponses: 2
    Dernier message: 17/11/2008, 12h59
  4. Réponses: 12
    Dernier message: 27/08/2008, 11h06
  5. [multiboot] Pour plusieurs versions Windows (98 à Vista)
    Par metfan dans le forum Windows XP
    Réponses: 12
    Dernier message: 27/07/2007, 16h33

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