我有一个形状对象绘制为“组”,文本为“ P0”,该组对象包含另外两个小形状对象,文本为“ P1”。
如何获取该组对象的详细信息,以便可以访问所有三个形状对象的文本-'P0','P1','P1'。任何帮助将不胜感激。
答案 0 :(得分:2)
假设:
然后执行以下操作:
//Some method to get your target shape
var shp = vApp.ActivePage.Shapes.ItemFromID[1];
shp.Characters.Text.Dump($"Group shape - ({shp.NameID})");
foreach (Visio.Shape s in shp.Shapes)
{
s.Characters.Text.Dump($"Sub shape - ({s.NameID})");
}
注意-Dump
方法只是LINQPad中的扩展方法,但是您可以将它替换为Console.WriteLine或类似的方法。
上面的代码将产生与此类似的输出(在这里,我已将第二个子形状的文本更改为“ P2”):
此外,您可以直接使用Shape.Text
属性,但是文本中的任何字段都不会扩展。因此,要获得用户看到的全文,请改用Shape.Characters.Text
。