我有创建Visio应用程序实例的C#代码,然后打开一些现有的模具,以便我可以获得我需要的图形大师。 Visio 2013改变了事情,所以我需要打开2种不同的模具。问题是我在Visio中打开了2张图纸,每个模具1张。当我构建文档并保存时,我可以关闭它,但仍然打开另一张空白图纸。我还在创建绘图的活动文档中获得空的空白页面。将多个模具添加到相同的Visio表
Visio.Application va = new Visio.Application();
va .Documents.Add(@"");
Visio.Documents vdocs = va.Documents;
const string templateNameU = "BASFLO_M.VSTX";
const string ConnectorStencilNameU = "BASFLO_M.VSSX";
const string RectangleStencilNameU = "BASIC_U.VSS";
const string stencilNameU = "CONNEC_U.VSSX";
const string connectorMasterNameU = "Dynamic Connector";
const string RectangleMasterNameU = "Rounded Rectangle";
Visio.Master connectorMaster = null;
Visio.Master rectangleMaster = null;
// open the templates we need
Visio.Document vc = vdocs.OpenEx(RectangleStencilNameU, short)Visio.VisOpenSaveArgs.visOpenDocked);
va.Documents.Add(templateNameU);
我试图关闭所有打开的图纸有:
foreach (Visio.Document d in va.Documents)
{
va.Documents[d.Name].Close();
}
va.ActiveDocument.Close();
但这是凌乱。 for循环出于某种原因不会关闭活动文档。有没有办法将多个模具添加到同一个文档和/或页面,所以我只使用一个页面?有没有办法删除空白页面而不诉诸for循环来获取页面名称来删除它?我浏览过API并没有看到方法。
谢谢你的建议,我会尝试使用自动连接我最终想要标记连接的两端,但会看自动连接我绘制网络图。 – 2014-11-07 00:14:37