我有創建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