Onglet "personnalisation" d'un fichier Office

Résolu
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 - 19 déc. 2006 à 10:46
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 19 déc. 2006 à 15:09
Bonjour.

J'ai pas mal épluché le MSDN sans résultat... Je fais donc un dernier appel au secours...

Voilà, mon problème.
Dans un développement de type WIN (avec un Framework 1.1), un fichier Excel est utilisé.
Dans l'algorithme, il y a une vérification pour vérifier que le fichier est bien présent, puis il y a une vérification poru vérifier que le "contenu" du fichier est le bon.

Pour faire cela, on a décidé de "tagger" une propriété dans l'onglet "personnalisation" du fichier (option uniquement valable sur les produits de type OFFICE), une propriété qu'on appellera "Toto" dans laquelle je mets la valeur "12345".
Le programme devra vérifier cette propriété.

J'ai repéré le code pour récupérer les objets de type "Summary" (comme Author) comme dans l'exemple suivant (un peu à l'arrache selon moi dailleurs...)

<hr size="2" width="100%" />            Word.Application oWord;
            Word._Document oDoc;
            object oMissing = Missing.Value;
            object oDocBuiltInProps;
            object oDocCustomProps;
           
            //Create an instance of Microsoft Word and make it visible.
            oWord = new Word.Application();
            oWord.Visible = true;

            //Create a new Document and get the BuiltInDocumentProperties collection.
            oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing,
                ref oMissing);
            oDocBuiltInProps = oDoc.BuiltInDocumentProperties;
            Type typeDocBuiltInProps = oDocBuiltInProps.GetType();

            //Get the Author property and display it.
            string strIndex = "Author";
            string strValue;
            object oDocAuthorProp = typeDocBuiltInProps.InvokeMember("Item",
                BindingFlags.Default |
                BindingFlags.GetProperty,
                null,oDocBuiltInProps,
                new object[] {strIndex} );
            Type typeDocAuthorProp = oDocAuthorProp.GetType();
            strValue = typeDocAuthorProp.InvokeMember("Value",
                BindingFlags.Default |
                BindingFlags.GetProperty,
                null,oDocAuthorProp,
                new object[] {} ).ToString();
            MessageBox.Show( "The Author is: " + strValue,"Author" );
<hr size="2" width="100%" />
Mais je ne vois pas comment récupérer un attribut de l'onglet "personnalisation" (en anglais "Custom").
J'ai essayé de remplacer "Author" par "Toto", mais sans résultat.

J'ai beau fouiller dans l'aide MSDN, je ne vois rien...

Quelqu'un a t il déjà eu à faire face à ce problème ?
Merci pour votre aide.

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher

5 réponses

PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 1
19 déc. 2006 à 11:47
Ok j'ai trouvé.

Il faut passer par
                oDocBuiltInProps = oDoc.CustomDocumentProperties;
et non pas
                oDocBuiltInProps = oDoc.BuiltInDocumentProperties
et là ça marche...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
19 déc. 2006 à 11:47
Salut,

En VSTO 1 je ne sais plus exactement mais logiquement tu dois avoir une propriété CustomDocumentProperties.

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
19 déc. 2006 à 11:49
Bontantpis :p

/*
coq
MVP Visual C#
CoqBlog
*/
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
19 déc. 2006 à 12:07
ah... c'était pas Bontempi ?..

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
19 déc. 2006 à 15:09
lol

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous