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

Dotnet Discussion :

[Débutant] [interop Word] obtenir les noms des champs Fields


Sujet :

Dotnet

  1. #1
    Membre habitué Avatar de TSalm
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 361
    Points : 177
    Points
    177
    Par défaut [Débutant] [interop Word] obtenir les noms des champs Fields
    Bonjour,

    Via un programme .NET, je cherche à récuperer la liste des variables accessible via la méthode "Fields" d'une instance de "Microsoft.Office.Interop.Word.Document".

    Je fais quelquechose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Microsoft.Office.Interop.Word.Document nvDoc ;
    List<string> lst_keyName = new List<string>();
    lst_keyName.Add(" : " + nvDoc.Fields.Count);
     
    // et remplit la liste :
    foreach (object keyName in nvDoc.Fields) {
                    lst_keyName.Add(keyName.ToString());
    }
    Hélas, la variable "keyName" de la boucle me renvoie un objet System.__comObject.

    Et là, je ne sais plus comment faire pour récuperer le nom de la variable associé à cet objet COM.

    merci d'avance pour votre aide,

    TSalm

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    C'est normal qu'elle te renvoie System.__comObject si tu ne castes pas ton objet ! Essayes plutôt ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach (Word.Field myField in nvDoc.Fields) 
    {
         lst_keyName.Add(myField.Code.Text);
    }

    Pour plus d'infos sur le modèle objet Word, il existe des fichiers d'aide dans ton install Office :
    C:\Program Files\Microsoft Office\OFFICE11\1036
    Le fichier s'intitule VBAWD10.CHM (enfin, pour Office 2003...)

    Ils pourront sûrement t'être d'une aide très précieuse !

  3. #3
    Membre habitué Avatar de TSalm
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 361
    Points : 177
    Points
    177
    Par défaut
    merci, j'essaye ça dès demain

    edit:
    Finalement, je viens d'essayer ça tout de suite et ça fonctionne impeccablement.

    Mille mercis !

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

Discussions similaires

  1. [DB2]Obtenir tous les noms des champs d'une table
    Par ptr83 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/11/2006, 09h31
  2. Modifier les noms des champs sous VBA
    Par shadockgreg dans le forum Access
    Réponses: 2
    Dernier message: 22/09/2006, 17h50
  3. [MySQL] Récupérer les noms des champs
    Par Ricou13 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/09/2006, 11h36
  4. Réponses: 2
    Dernier message: 01/08/2006, 13h38
  5. [VBA]Obtenir les noms des polices disponibles
    Par xp dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/03/2004, 15h39

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