Comment parcourir correctement des champs dans un document Word en VBA ?

Anonyme
2024-04-02T08:41:25+00:00

Bonjour

Je dois réaliser un parcours des champs {INCLUDETEXT} dans un document word or je constate qu'il a du mal à parcourir correctement ces champs {INCLUDETEXT} lorsqu'ils sont inclus dans d'autres types de champs. Je vous fais part d'un exemple très simple pour illustrer la problématique :

J'ai créé 3 documents dans un dossier nommé test :
DOC-PRINCIPAL-NIVEAU0.doc
INCLUDE-NIVEAU1.doc
INCLUDE-NIVEAU2.doc

Dans DOC-PRINCIPAL-NIVEAU0.doc je fais appel à l'include INCLUDE-NIVEAU1.doc et dans INCLUDE-NIVEAU1.doc je fais appel à l'include INCLUDE-NIVEAU2.doc et dans INCLUDE-NIVEAU2.doc j'ai du texte en dur.

Dans le document principal DOC-PRINCIPAL-NIVEAU0.doc j'ai par exemple ceci :

{INCLUDETEXT "INCLUDE-NIVEAU1.doc" }

J'exécute ensuite le code suivant :

Sub test()
Dim champ As Field
Documents.Open FileName:="C:\test\DOC-PRINCIPAL-NIVEAU0.doc"
 
For Each champ In ActiveDocument.Fields
 If champ.Type = wdFieldIncludeText Then
    Debug.Print (champ)
 End If
 
Next champ
End Sub

Le résultat du code est l'affichage de l'include niveau 1 et l'include niveau 2 dans la console d'exécution.

Maintenant si je modifie dans mon document principal le champ INCLUDETEXT en l'incluant dans un autre type de champ comme illustré :

{IF {MERGEFIELD CHAMPF } = "O" "{INCLUDETEXT "INCLUDE-NIVEAU1.doc"}" ""}

Je rajoute également dans mon document INCLUDE-NIVEAU1.doc un nouvel include pour tester par exemple :

{INCLUDETEXT "rajout d'un include pour tester"}

et ensuite je réexécute mon code, le résultat reste inchangé, j'ai toujours l'affichage des includes niveau 1 et 2. Même en mettant à jour les champs dans le document principal DOC-PRINCIPAL-NIVEAU0.doc, l'affichage reste inchangé, je devrais avoir include 1 et 2 ET également le nouvel includetext rajouté, or ce n'est pas le cas. Le comportement du code est très étrange et fait un peu n'importe quoi.

J'ai l'impression que le parcours d'includetext dans un document Word ne fonctionne pas correctement lorsque ces champs sont inclus dans d'autres champs. Pourquoi ce comportement étrange et comment faire pour remédier à ce problème ?

Je vous remercie de votre aide

Cordialement

Microsoft 365 et Office | Installer, entrer des clés, activer | Autres | Autres

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

2 réponses

  1. Anonyme
    2024-04-08T07:46:14+00:00

    Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.

    Cher Tom CLANCY1,

    Bienvenue dans la communauté Microsoft.

    Nous comprenons que vous souhaitiez naviguer correctement dans les champs de votre document Word en VBA.

    Nous comprenons le problème que vous rencontrez. Malheureusement,  VBA n’est pas pris en charge sur le forum Microsoft Answers. Il est plus adapté à la publication sur Stack Overflow  (en anglais uniquement).  

    Publiez des questions de programmation VBA sur Stack Overflow à l’aide de la balise vba, ainsi que de toute autre balise pertinente. 

    Veuillez noter que Stack Overflow a des directives telles que l’exigence d’un titre descriptif, d’un énoncé de problème complet et concis et de suffisamment de détails pour reproduire votre problème. Les demandes de fonctionnalités ou les questions trop générales sont considérées comme hors sujet.

    Clause de non-responsabilité : Microsoft ne fournit aucune assurance et/ou garantie, implicite ou autre, et n’est pas responsable des informations que vous recevez des sites tiers liés ou de toute assistance liée à la technologie. 

    Je ne serai pas en mesure de vous aider, mais je laisserai cette question ouverte au cas où l’un de nos incroyables bénévoles aurait des idées pour vous.

    Sinceres salutations

    Zenobia-MSFT | Spécialiste du support communautaire Microsoft

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2024-04-02T20:04:24+00:00

    Un ingénieur Microsoft peut-il m'aider à comprendre s'il vous plait ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire