我需要创建一个 Visio 文档并从 .vss 文件中添加形状。我能够添加简单的形状并向其添加文本,而不会出现任何问题。但是当我尝试添加一个形状时遇到问题,该形状是 4 个矩形组合在一起的集合(我相信它被称为母版)并向每个形状添加文本。
我想在组中的每个矩形形状中填充值(添加文本)。一旦我将此母版放到 Visio 页面中,它就会显示为一个组。我可以使用该Ungroup()
方法取消对每个矩形的分组。但我不知道如何从这个组中获取每个单独的元素。有没有一种方法可以唯一标识该组中的每个元素?或者遍历组并找到每个元素?请看下面的代码,到目前为止我做了什么。
Visio.Document doc = application.Documents.Add(@"\example.vst");
Visio.Page page = application.Documents[1].Pages[1];
Visio.Documents vdocs = application.Documents;
Visio.Document visioStencil = vdocs.OpenEx(@"\sample.vss", (short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenDocked);
Visio.Page visioPage = application.ActivePage;
Visio.Shapes visShapes = visioPage.Shapes;
//the following shape in the setensil is the group of 4 rectanle I was referring
Visio.Master visioConvMaster = visioStencil.Masters.get_ItemU(@"Conveyance");
Visio.Shape visioConvShape = visioPage.Drop(visioConvMaster, 4.25, 5.5);
//try to ungroup to get each
visioConvShape.Ungroup();
知道我应该如何进一步进行吗?我对 Microsoft 技术真的很陌生。我正在使用 Visual Studio 2012 专业版和 Visio 2010 高级版。
提前致谢。