我试图使用OpenXml将文本插入到我的Word文档模板中的内容控件中 . 首先,我通过其标记名称搜索内容控件,然后在SdtBlock中添加段落元素,如下所示,
SdtBlock contentBlock = wordDoc.MainDocumentPart.Document.Body.Descendants<SdtBlock>()
.Where(r => r.SdtProperties.GetFirstChild<Tag>().Val == "AssessmentSection")
.Single();
但是,当我执行此语句时,我得到“对象引用未设置为对象的实例” . 错误信息 . 模板文档已经有另一个内容控件,我能够使用相同的上述语句找到该控件,只有标记名不同 . 但是在模板中添加“AssessmentSection”内容控件并运行程序后,我得到“EvaluSection”控件的“Object Reference ...”错误,程序失败 . 我确信新的内容控件标记名称和 Headers 与其他内容控件是唯一的 .
有人可以帮助我为什么会发生这种奇怪的行为以及如何解决它?
1 回答
你也可以循环文件ContentControls项目并检查他们的标签,如: