如何获得单词字段的类型

问题描述 投票:0回答:1

我有一个包含不同字段的Word文件。我想知道每个字段的类型。我知道有一个名为Field.GetType()的方法,但它返回的内容如下:System.__ComObject

但是我想知道每个字段都有WdFieldTypehttps://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.word.wdfieldtype?view=word-pia#Microsoft_Office_Interop_Word_WdFieldType_wdFieldIncludeText

问题是,我不知道人们使用哪种文件类型。当我尝试获取结果时,某些字段类型正在导致错误。这就是为什么我想排除那些类型,但是我首先必须知道那里有什么类型。

我的代码:

foreach (string LeitudNimi in Nimed)
{
    foreach (Field f in doc.Fields)
    {
        if (f.Type != WdFieldType.some field that is causing error)
        {
            if (f.Result.Text.ToLower() == LeitudNimi)
            { 
                f.Result.Text = $"{Nimi}"; 
                f.Unlink(); 
            }
        }
    }
}

并使用该代码。我首先打算做这样的事情:

foreach (Field f in doc.Fields)
                        {var Type1 = f.GetType()
File.AppendAllText(@"C:\tulemus.txt", $"Field type is: {Type1}" + Environment.NewLine);}
c# ms-word office-interop word-field
1个回答
1
投票

我认为您应该像在第一个代码示例中一样检查[f.Type] (reference)的值。 f.GetType()返回由f

持有的实例的C#对象类型
foreach (Field f in doc.Fields)
{
  File.AppendAllText(@"C:\tulemus.txt", $"Field type is: {f.Type}" + Environment.NewLine);
}
© www.soinside.com 2019 - 2024. All rights reserved.