最近在做visio二次開發項目,遇到檔案儲存問題,即不能使用save進行資料儲存,經過查閱相關資料,終於找到問題的答案。引用:http://msdn.microsoft.com/zh-cn/library/aa168480(v=office.11).aspx#EIAA
(1)使用 Visio 繪圖控制項的 Src 屬性來將文檔載入到該控制項。例如,下面的 C# 樣本將顯示如何載入 Visio 繪圖:
drawingControl.Src = "C:\\Drawing.vsd";
可以使用 Src 屬性載入任意 Visio 檔案類型(例如,.vsd、.vdx、.vst 或 .svg)。可以本機存放區該檔案或將其儲存在遠程檔案伺服器上。Visio 控制項的
Src 屬性會載入在 Src 值中指定的檔案副本。要將更改儲存在控制項的文檔中,必須使用
SaveAs 方法來儲存 Visio 文檔。或者,還可以儲存流中的更改。但是,在這兩種情況下,都不能修改由 Src 屬性載入的原始文檔。
(2)該控制項載入由 Src 屬性指定的檔案副本。通過 SRC 載入的檔案不能用於讀取/寫入操作,因此無法使用
Save 方法儲存。要將更改儲存到 Visio 繪圖控制項中載入的文檔,請調用文檔的 SaveAs 方法。下面的 C# 樣本將說明如何使用繪圖控制項的
Document 屬性來調用 SaveAs 方法:
Visio.Document document = drawingControl.Document; document.SaveAs("C:\\Drawing.vsd");
您無法使用 SaveAsEx 方法將 Visio 2003 文檔儲存到 Visio ActiveX 控制項中的 Visio 2002 格式。要將 Visio 繪圖控制項中載入的繪圖儲存到 Visio 2002 格式,請啟動一個 Visio 的不可見執行個體,並在 Visio 應用程式執行個體中調用
SaveAsEx 方法,如同 Visual Basic 6.0 代碼中的示範,該代碼將 Visio 2003 繪圖儲存到 Visio 2003 檔案格式中:
Application.Documents(1).SaveAsEx("C:\Documents and Settings" & _ "\myusername\My Documents\Visio2002 file.vsd", visSaveAsWS + _ visSaveAsListInMRU)