Remplacer Champ dans l'en-Tête&Pied de page dans Word à l'Aide de l'Interopérabilité

Comment remplacer un "CHAMP" dans l'en-tête/pied de page?

Ex: fichier Word doc avec un Nom de Fichier & Date de. à la place du fichier chemin d'accès - [FilePath] au lieu C://Documents/Location/Filename.doc ,[Date] au lieu 18/07/2013.

Je peut remplacer n'importe quel texte avec la gamme.

foreach (Microsoft.Office.Interop.Word.Section section in wordDocument.Sections)
{
   section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text.Replace(sourceDocPath, "[File Path]");

   section.Footers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text.Replace(sourceDocPath, "[File Path]"); 
}

Cela fonctionne très bien pour Le nom de fichier, par contre pour la Date, il n'est pas possible de deviner le format à remplacer. Tout cela parce que je ne suis pas capable d'attraper exactement de domaine info pour le remplacer.

Le code ci-dessous aussi je ne peux pas utiliser

wordApp.Selection.Find.Execute(ref textToReplace, ref typeMissing, 
        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing, 
        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing, 
        ref replaceTextWith, ref replaceAll, ref typeMissing, ref typeMissing, 
        ref typeMissing, ref typeMissing);

Seul moyen que je vois pour l'instant est traiter tous les formats de la date et de le remplacer,mais ce n'est pas semble être une bonne approche pour moi.

Mise à jour que par le commentaire donné à l'aide de Storyrange.

Ne me donne pas l'exacte du Champ de l'information en disant: [DATE].Quand je l'itération à travers l'histoire de la gamme le type d'info je suis wdstorytype qui est sur la section de l'information, nt sur le terrain de l'information.

foreach (Microsoft.Office.Interop.Word.Range tmpRange in wordDocument.StoryRanges)
                    {
                        string strtype = tmpRange.StoryType.ToString();
                        tmpRange.Find.Text = "18/07/2013";
                        tmpRange.Find.Replacement.Text = "";
                        tmpRange.Find.Replacement.ParagraphFormat.Alignment =
                            Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;

                        tmpRange.Find.Wrap = Microsoft.Office.Interop.Word.WdFindWrap.wdFindContinue;
                        object replaceAll = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;

                        tmpRange.Find.Execute(ref missing, ref missing, ref missing,
                            ref missing, ref missing, ref missing, ref missing,
                            ref missing, ref missing, ref missing, ref replaceAll,
                            ref missing, ref missing, ref missing, ref missing);
                    }

Mise à jour:
Ressemble à quelque chose qui m'aide ici, mais ne semble pas fonctionner. Une idée de comment puis-je forcer l'objet d'un document d'utilisation ci-dessous avant de les exporter.

field.ShowCodes = true;
Nom de fichier est avec Chemin d'accès. Je suis à l'aide de cette avant de l'exporter en XPS. Je ne veux pas modifier le document initial qui est ouvert en lecture seule.
Il semble que si vous voulez remplacer les champs par leurs résultats, peut-être de manière sélective. Si oui, vous devez parcourir la collection de champs dans le StoryRange, vérifiez le type de champ, et de l'utilisation .Délier sur les domaines où vous voulez que le fruit à la place (par exemple, peut-être que vous ne voulez pas remplacer { PAGE } par son résultat). Sinon, c'est pas clair ce que vous voulez remplacer les champs de date, exactement.
mise à jour de la question avec votre approche, même pas de chance.ai-je raté quelque chose ici!!

OriginalL'auteur Jay | 2013-07-18