C# 从Word文档模板读取自定义字段
我已经编写了一些代码,根据中的信息将自定义字段添加到Word文档模板中 它可以工作,但是如果字段已经存在,它会抛出异常。因此,我想阅读现有的自定义字段来检查已经存在的内容 我根据网站上的信息编写了一个函数 但它在foreach循环的第一次迭代中崩溃 如果没有自定义属性,则不会引发异常 我做错了什么C# 从Word文档模板读取自定义字段,c#,ms-word,office-interop,C#,Ms Word,Office Interop,我已经编写了一些代码,根据中的信息将自定义字段添加到Word文档模板中 它可以工作,但是如果字段已经存在,它会抛出异常。因此,我想阅读现有的自定义字段来检查已经存在的内容 我根据网站上的信息编写了一个函数 但它在foreach循环的第一次迭代中崩溃 如果没有自定义属性,则不会引发异常 我做错了什么 未知模块中发生“System.InvalidCastException”类型的首次意外异常。 其他信息:无法将“System.\u ComObject”类型的COM对象强制转换为接口类型“Micro
未知模块中发生“System.InvalidCastException”类型的首次意外异常。 其他信息:无法将“System.\u ComObject”类型的COM对象强制转换为接口类型“Microsoft.Office.Core.DocumentProperty”。此操作失败,因为对IID为“{2DF8D04E-5BFA-101B-BDE5-00AA0044DE52}”的接口的COM组件的QueryInterface调用失败,原因是以下错误:不支持此类接口(HRESULT中的异常:0x80004002(E_NOINTERFACE))
你认为这一问题在年内得到了充分的回答吗?谢谢你的答复。不幸的是,这个链接没有多大帮助。我试图使用函数
ReadDocumentProperty
,但它在properties=myWordDoc.CustomDocumentProperties行抛出异常代码>这和以前的问题是一样的。
private bool PropertyExists(Word.Document Document, string PropertyName)
{
bool _bRet = false;
foreach (Microsoft.Office.Core.DocumentProperty _property in Document.CustomDocumentProperties)
{
if (_property.Name == PropertyName)
{
_bRet = true;
}
}
return _bRet;
}