我再次遇到一个小问题(我希望),我不知道如何获取PowerPoint提供的一些演示文稿属性(但我甚至不知道如何谷歌搜索或搜索它来自C#的site :()。让我解释。我们可以分别通过互操作程序集和ms-office内置的VBA编辑器访问C#和VBA中的TextRange
属性。没关系,但是这个属性包含两个同名实体 - Runs
。VBA允许以方法和属性的形式访问它(此外,Runs
属性对象内部很有用),但属性Runs
无法访问通过interop程序集,Runs()
方法只能被访问(它返回文本运行对象)。我已经使用.NET Reflector挖掘了互操作程序集,但我没有找到任何与Runs
相关的内容property(虽然具有不同唯一而不是方法名称的属性具有自己的get_Property()
和set_Property()
方法)。似乎interop程序集缺少Runs
接口的TextRange
属性。坦率地说,我不确定。: (
我可以以某种方式从C#获取访问Runs
属性吗?我不熟悉COM等,我希望得到你的帮助。感谢。
答案 0 :(得分:1)
我认为您在谈论Microsoft.Office.Core.TextRange2.Runs()属性。它是一个带有两个参数的属性,start和length。这样的属性不能用C#语言直接访问,至少不能until C# 4.0。现在只有Visual Basic支持索引属性。
解决方法是使用get_Runs()代替。
答案 1 :(得分:0)
在C#中,您必须指定从哪里开始和结束:
...
foreach(txtrng.Runs(0,txtrng.Length)中的TextRange txtrn) {
if(txtrn.Font.Name ==“Arial”) MessageBox.Show(txtrn.Text);
}
.....