C# 如何通过C获取MS Visio中组对象的详细信息#

C# 如何通过C获取MS Visio中组对象的详细信息#,c#,interop,visio,flowchart,C#,Interop,Visio,Flowchart,我有一个图形对象作为“组”绘制,文本为“P0”,组对象包含两个其他小图形对象,文本为“P1” 如何获取该组对象的详细信息,以便访问所有三个形状对象的文本-“P0”、“P1”、“P1”。任何帮助都将不胜感激。假设: 目标形状是组形状(而不是容器) 这两个子形状是组的直接子图形 那么下面的方法就行了: //获取目标形状的一些方法 var shp=vApp.ActivePage.Shapes.ItemFromID[1]; shp.Characters.Text.Dump($“组形状-({shp.

我有一个图形对象作为“组”绘制,文本为“P0”,组对象包含两个其他小图形对象,文本为“P1”

如何获取该组对象的详细信息,以便访问所有三个形状对象的文本-“P0”、“P1”、“P1”。任何帮助都将不胜感激。

假设:

  • 目标形状是组形状(而不是容器)
  • 这两个子形状是组的直接子图形
那么下面的方法就行了:

//获取目标形状的一些方法
var shp=vApp.ActivePage.Shapes.ItemFromID[1];
shp.Characters.Text.Dump($“组形状-({shp.NameID})”);
foreach(shp.Shapes中的Visio.Shapes)
{
s、 Characters.Text.Dump($“子形状-({s.NameID})”);
}
注意-
Dump
方法只是中的一个扩展方法,但是您可以用Console.WriteLine或类似的方法替换它

上面的代码将产生与此类似的输出(我已将第二个子形状的文本更改为“P2”):

另外,您可以直接使用
Shape.Text
属性,但文本中的任何字段都不会展开。因此,要获得用户看到的全文,可以使用
Shape.Characters.text

假设:

  • 目标形状是组形状(而不是容器)
  • 这两个子形状是组的直接子图形
那么下面的方法就行了:

//获取目标形状的一些方法
var shp=vApp.ActivePage.Shapes.ItemFromID[1];
shp.Characters.Text.Dump($“组形状-({shp.NameID})”);
foreach(shp.Shapes中的Visio.Shapes)
{
s、 Characters.Text.Dump($“子形状-({s.NameID})”);
}
注意-
Dump
方法只是中的一个扩展方法,但是您可以用Console.WriteLine或类似的方法替换它

上面的代码将产生与此类似的输出(我已将第二个子形状的文本更改为“P2”):

另外,您可以直接使用
Shape.Text
属性,但文本中的任何字段都不会展开。因此,要获得用户看到的全文,可以使用
Shape.Characters.text