如何获取一个词字段的类型
How to get a type of a word field
我有一个包含不同字段的 Word 文件。我想知道每个字段的类型。我知道有一个方法叫做 Field.GetType()
但它返回的是这样的东西:System.__ComObject
但是我想知道WdFieldType
每个字段有什么。 https://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);}
我认为您应该检查 [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);
}
我有一个包含不同字段的 Word 文件。我想知道每个字段的类型。我知道有一个方法叫做 Field.GetType()
但它返回的是这样的东西:System.__ComObject
但是我想知道WdFieldType
每个字段有什么。 https://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);}
我认为您应该检查 [f.Type]
(reference) 的值,就像您在第一个代码示例中所做的那样。 f.GetType() 向您返回 f
foreach (Field f in doc.Fields)
{
File.AppendAllText(@"C:\tulemus.txt", $"Field type is: {f.Type}" + Environment.NewLine);
}