我有一个形状对象绘制为'组',文本为'P0',组对象包含两个其他小形状对象,文本为'P1'。
如何获取该组对象的详细信息,以便我可以访问所有三个形状对象的文本 - “P0”,“P1”,“P1”。任何帮助都感激不尽。
假如说:
然后以下工作:
//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
。