C# Word.Interop 更改 ContentControl DropDownList 的文本
C# Word.Interop Change text of ContentControl DropDownList
我想使用 Word.Interop 更改 ContentControl。它与文本类型的 ContentControl 一起使用。但它因 wdContentControlDropdownList 类型的 ContentControl 而失败。
类似“您不能更改,因为该字段受保护”之类的错误消息。
有什么方法可以更改 DropDownList 的活动项吗?
private void setstatus(string status)
{
ContentControls ccList;
ccList = this.activeDocument.SelectContentControlsByTitle("Status");
ContentControl cc = ccList[1];
// works with wdContentControlText
// fails with wdContentControlDropdownList
cc.Range.Text = status;
}
我终于找到了可行的解决方案。
private void setstatus(string value)
{
ContentControls ccList;
ccList = activeDocument.SelectContentControlsByTitle("Status");
ContentControl cc = ccList[1];
// search all list entries and select the required item
foreach (ContentControlListEntry ccl in cc.DropdownListEntries)
{
if (ccl.Text == value)
{
ccl.Select();
break;
}
}
}
我想使用 Word.Interop 更改 ContentControl。它与文本类型的 ContentControl 一起使用。但它因 wdContentControlDropdownList 类型的 ContentControl 而失败。 类似“您不能更改,因为该字段受保护”之类的错误消息。
有什么方法可以更改 DropDownList 的活动项吗?
private void setstatus(string status)
{
ContentControls ccList;
ccList = this.activeDocument.SelectContentControlsByTitle("Status");
ContentControl cc = ccList[1];
// works with wdContentControlText
// fails with wdContentControlDropdownList
cc.Range.Text = status;
}
我终于找到了可行的解决方案。
private void setstatus(string value)
{
ContentControls ccList;
ccList = activeDocument.SelectContentControlsByTitle("Status");
ContentControl cc = ccList[1];
// search all list entries and select the required item
foreach (ContentControlListEntry ccl in cc.DropdownListEntries)
{
if (ccl.Text == value)
{
ccl.Select();
break;
}
}
}