Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Word文档模板读取自定义字段_C#_Ms Word_Office Interop - Fatal编程技术网

C# 从Word文档模板读取自定义字段

C# 从Word文档模板读取自定义字段,c#,ms-word,office-interop,C#,Ms Word,Office Interop,我已经编写了一些代码,根据中的信息将自定义字段添加到Word文档模板中 它可以工作,但是如果字段已经存在,它会抛出异常。因此,我想阅读现有的自定义字段来检查已经存在的内容 我根据网站上的信息编写了一个函数 但它在foreach循环的第一次迭代中崩溃 如果没有自定义属性,则不会引发异常 我做错了什么 未知模块中发生“System.InvalidCastException”类型的首次意外异常。 其他信息:无法将“System.\u ComObject”类型的COM对象强制转换为接口类型“Micro

我已经编写了一些代码,根据中的信息将自定义字段添加到Word文档模板中

它可以工作,但是如果字段已经存在,它会抛出异常。因此,我想阅读现有的自定义字段来检查已经存在的内容

我根据网站上的信息编写了一个函数

但它在foreach循环的第一次迭代中崩溃

如果没有自定义属性,则不会引发异常

我做错了什么


未知模块中发生“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;
    }