none
champs de fusion inaccessibles dans zone de texte RRS feed

  • Question

  • Bonjour à tous,

    J'ai besoin de gérer des champs de fusion dans des documents MSWord.

    Je les atteins sans problèmes quand ils sont dans l'article principal (ActiveDocument.MailMerge.Fields ...) mais cette collection ne me présente jamais les champs de fusions qui sont dans une zone de texte.

    L'objet mailmerge étant relatif à un document, comment manipuler les champs de fusion qui sont dans des shapes ?

     

    C'est sans doute bête comme chou mais je n'arrive pas à mettre la main sur cette réponse.

     

    Merci par avance de votre aide.

    Roland

    dimanche 19 septembre 2010 22:37

Réponses

  • bonjour Roland,

    Sub ColectionMailMergeFields()
    Dim f, sh As Shape

    For Each f In ActiveDocument.MailMerge.Fields
     MsgBox f.Code
    Next

    For Each sh In ActiveDocument.Shapes
      MsgBox sh.TextFrame.TextRange.Fields(1)
    Next
    End Sub

    isabelle

    Le 2010-09-20 08:06, persolaser a écrit :

    Bonjour Alex, merci de votre réponse.

    Dans la pratique, ces champs de fusion { MERGEFIELD "MACHIN" } sont en fait dans une zone de texte, qui est une shape (type = msoTextBox = 17).

    donc, hors de l'article principal présenté par ActiveDocument. de là mon problème ...

    Bien à vous,

    Roland

    • Marqué comme réponse Alex Petrescu mercredi 22 septembre 2010 13:52
    lundi 20 septembre 2010 23:22
  • bonjour Roland,

    un lien:
    il y a en vraiment beaucoup, le choix d'une suggestion est difficile, pour en nommer qu'un :
    http://msdn.microsoft.com/fr-fr/library/bb726436(v=office.12).aspx

    une astuce:
    pour ma part j'utilise presque uniquement l'aide visual basic.
    la touche F1 est mon alliée.

    isabelle

    Le 2010-09-22 04:40, persolaser a écrit :

    Bonjour IsabelleV



    Et merci beaucoup pour la clarté de votre réponse. J'avais cherché par là mais sans aller aussi loin (je cherchais dans les MailMergeFields, qui n'existent pas dans les shapes).



    Dans mon jeune temps (;=), le coffrets de language µSoft étaient livré avec de grands posters présentant les modèles objets, ce qui était éminemment plus pratique qu'une aide en ligne pour trouver les liens ascendant/descendant.

    L'aide en ligne permet de dérouler un lien descendant mais n'est vraiment pas pratique pour le remonter.

    Avez-vous un lien/un truc/une astuce/une référence à me confire pour simplifier mes prochaines recherches ?



    Merci encore pour votre solution et merci par avance pour votre réponse



    @Alex Petrescu : Le problème est solutionné. vous pouvez clore le thread (sauf la réponse à venir d'Isabelle). Merci pour tout

    • Marqué comme réponse Alex Petrescu mercredi 22 septembre 2010 13:51
    mercredi 22 septembre 2010 13:40

Toutes les réponses

  • Bonjour,

     

    Que voulez-vous dire par « les champs de fusion qui sont dans des shapes » ? De mes connaissances, on ne peut pas insérer un champ de fusion dans une illustration de type Shape.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    lundi 20 septembre 2010 11:48
  • Bonjour Alex, merci de votre réponse.

    Dans la pratique, ces champs de fusion { MERGEFIELD "MACHIN" } sont en fait dans une zone de texte, qui est une shape (type = msoTextBox = 17).

    donc, hors de l'article principal présenté par ActiveDocument. de là mon problème ...

    Bien à vous,

    Roland

    lundi 20 septembre 2010 12:06
  • bonjour Roland,

    Sub ColectionMailMergeFields()
    Dim f, sh As Shape

    For Each f In ActiveDocument.MailMerge.Fields
     MsgBox f.Code
    Next

    For Each sh In ActiveDocument.Shapes
      MsgBox sh.TextFrame.TextRange.Fields(1)
    Next
    End Sub

    isabelle

    Le 2010-09-20 08:06, persolaser a écrit :

    Bonjour Alex, merci de votre réponse.

    Dans la pratique, ces champs de fusion { MERGEFIELD "MACHIN" } sont en fait dans une zone de texte, qui est une shape (type = msoTextBox = 17).

    donc, hors de l'article principal présenté par ActiveDocument. de là mon problème ...

    Bien à vous,

    Roland

    • Marqué comme réponse Alex Petrescu mercredi 22 septembre 2010 13:52
    lundi 20 septembre 2010 23:22
  • Bonjour,

     

    Merci pour la clarification, persolaser ! Est-ce que la solution d’isabelleV vous convient ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    mardi 21 septembre 2010 09:49
  • Bonjour IsabelleV

     

    Et merci beaucoup pour la clarté de votre réponse. J'avais cherché par là mais sans aller aussi loin (je cherchais dans les MailMergeFields, qui n'existent pas dans les shapes).

     

    Dans mon jeune temps (;=), le coffrets de language µSoft étaient livré avec de grands posters présentant les modèles objets, ce qui était éminemment plus pratique qu'une aide en ligne pour trouver les liens ascendant/descendant.

    L'aide en ligne permet de dérouler un lien descendant mais n'est vraiment pas pratique pour le remonter.

    Avez-vous un lien/un truc/une astuce/une référence à me confire pour simplifier mes prochaines recherches ?

     

    Merci encore pour votre solution et merci par avance pour votre réponse

     

    @Alex Petrescu : Le problème est solutionné. vous pouvez clore le thread (sauf la réponse à venir d'Isabelle). Merci pour tout

    mercredi 22 septembre 2010 08:40
  • bonjour Roland,

    un lien:
    il y a en vraiment beaucoup, le choix d'une suggestion est difficile, pour en nommer qu'un :
    http://msdn.microsoft.com/fr-fr/library/bb726436(v=office.12).aspx

    une astuce:
    pour ma part j'utilise presque uniquement l'aide visual basic.
    la touche F1 est mon alliée.

    isabelle

    Le 2010-09-22 04:40, persolaser a écrit :

    Bonjour IsabelleV



    Et merci beaucoup pour la clarté de votre réponse. J'avais cherché par là mais sans aller aussi loin (je cherchais dans les MailMergeFields, qui n'existent pas dans les shapes).



    Dans mon jeune temps (;=), le coffrets de language µSoft étaient livré avec de grands posters présentant les modèles objets, ce qui était éminemment plus pratique qu'une aide en ligne pour trouver les liens ascendant/descendant.

    L'aide en ligne permet de dérouler un lien descendant mais n'est vraiment pas pratique pour le remonter.

    Avez-vous un lien/un truc/une astuce/une référence à me confire pour simplifier mes prochaines recherches ?



    Merci encore pour votre solution et merci par avance pour votre réponse



    @Alex Petrescu : Le problème est solutionné. vous pouvez clore le thread (sauf la réponse à venir d'Isabelle). Merci pour tout

    • Marqué comme réponse Alex Petrescu mercredi 22 septembre 2010 13:51
    mercredi 22 septembre 2010 13:40