邮件合并到多个文本框Word

时间:2016-08-28 05:26:37

标签: c# ms-word textbox office-interop mailmerge

我有一个模板Word文档,其中包含多个形状顶部的文本框(使其具有比我的文本框轮廓更好的边框轮廓)。这些文本框包含我希望合并到的邮件合并字段。我有以下代码试图这样做

foreach (Microsoft.Office.Interop.Word.Range range in document.StoryRanges)
        {
            foreach (Microsoft.Office.Interop.Word.Field field in range.Fields)
            {
                if (field.Code.Text.Contains("Test Field"))
                {
                    field.Select();
                    application.Selection.TypeText("test");
            }
        }

问题是这只会更改第一个文本框中的字段,我在此处搜索了MSDN以获得解决方案,但是我仍然无法找到解决方案。我还添加了以下几行来试图找出一些东西

Console.WriteLine(document.StoryRanges.Count);

在foreach循环中我也有

Console.WriteLine(range.Fields.Count);

第一次调用WriteLine表示有两个StoryRanges,一个是主文档,另一个是所有文本框所在的范围,我猜想。但是,第二个WriteLine表示第一个范围有0个字段,而第二个范围只有1个字段,即使我使用的模板文档包含超过10个字段。

1 个答案:

答案 0 :(得分:0)

StoryRanges是否嵌套?它们是不同类型的吗?

如果是这样,你应该考虑使用这里建议的StoryRange.NextStoryRange: http://word.mvps.org/faqs/customization/ReplaceAnywhere.htm

payload.people