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;
        }
    }
}