我没有找到一种方法来设置ContentControl.Range.Text
C# 的执行位置(在内容控件内部)。也许我应该从一个完全不同的角度来看待它。
目前我有一个内容控件,它生成一组文本,其中一些文本在 [] 方括号之间,我想通过设置 [] 之间字符范围的开始和结束来选择文本并格式化颜色。我一直试图将初始范围设置为我当前使用的内容控件。
我在下面管理/找到/修补的大部分内容。
object word;
Microsoft.Office.Interop.Word.Document _PWdDoc;
try
{
word = System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
//If there is a running Word instance, it gets saved into the word variable
}
catch (Exception ex)
{
//If there is no running instance, it creates a new one
Type type = Type.GetTypeFromProgID("Word.Application");
word = System.Activator.CreateInstance(type);
}
Microsoft.Office.Interop.Word.Application oWord = (Microsoft.Office.Interop.Word.Application) word;
_PWdDoc = oWord.ActiveDocument;
System.Collections.IEnumerator ContentX = _PWdDoc.ContentControls.GetEnumerator();
//Microsoft.Office.Interop.Word.ContentControl ContentX = Microsoft.Office.Interop.Word.ContentControls.Item[];
//Microsoft.Office.Interop.Word.Range rng = Microsoft.Office.Interop.Word.ContentControl.Range.Duplicate(ref ContentX);
//var rngX = Microsoft.Office.Interop.Word.ContentControl.Range(ContentX);
//Microsoft.Office.Interop.Word.ContentControl cc1 = ContentX;
请原谅编码混乱,但这是我能想到的所有我对此的最少经验。
现在我已经获得了内容控件的 IEnumerator(我认为),除了我读过的内容之外,我不知道如何使用它,他们说要遍历访问它们中的每一个的 IEnumerables。那不是我想做的。我想要 1 个内容控制。我正在工作的当前一个。我想找到它的范围并将其分配给一个值。然后在那个范围的“文本”中,我想做一些[花哨的]突出显示。