更新:2007 年 11 月
可通过多种方式保存 Microsoft Office Visio 文档:
- 将所做更改保存在现有文档中。 
- 保存新文档,即使用新名称保存文档。 
- 使用指定的参数保存文档。 
有关更多信息,请参见针对 Microsoft.Office.Interop.Visio.Document.Save 方法、Microsoft.Office.Interop.Visio.Document.SaveAs 方法和 Microsoft.Office.Interop.Visio.Document.SaveAsEx 方法的 VBA 参考文档。
保存现有文档
保存文档
- 对于之前已保存的文档,请调用其 Microsoft.Office.Tools.Visio.Document 类的 Microsoft.Office.Interop.Visio.Document.Save 方法。 - 若要使用此代码示例,请从项目内的 ThisAddIn 类中运行此示例。 .gif) 说明: 说明:- 如果新的 Visio 文档尚未保存,Microsoft.Office.Interop.Visio.Document.Save 方法将引发异常。 - Me.Application.ActiveDocument.Save()- this.Application.ActiveDocument.Save();
使用新名称保存文档
使用 Microsoft.Office.Interop.Visio.Document.SaveAs 方法保存新文档(即具有新名称的文档)。此方法需要您指定新的文件名。
使用新名称保存活动的 Visio 文档
- 使用包括文件名的完全限定路径,调用要保存的 Microsoft.Office.Tools.Visio.Document 的 Microsoft.Office.Interop.Visio.Document.SaveAs 方法。如果该文件夹中已存在同名称的文件,则会覆盖该文件而不显示任何提示。 - 若要使用此代码示例,请从项目内的 ThisAddIn 类中运行此示例。 - Dim docPath As String = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) + "\test\MyDrawing.vsd" Me.Application.ActiveDocument.SaveAs(docPath)- string docPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) + @"\test\MyDrawing.vsd"; this.Application.ActiveDocument.SaveAs(docPath);
使用新名称和指定的参数保存文档
使用 Microsoft.Office.Interop.Visio.Document.SaveAsEx 方法可用新名称保存文档,并指定任何将应用于该文档的适用参数。
使用新名称和指定的参数保存文档
- 使用包括文件名的完全限定路径,调用要保存的 Microsoft.Office.Tools.Visio.Document 的 Microsoft.Office.Interop.Visio.Document.SaveAsEx 方法。如果该文件夹中已存在同名文件,则会引发异常。 - 下面的代码示例将使用新名称保存活动的文档,将该文档标记为只读,并在最近使用过的文档的列表中显示该文档。若要使用此代码示例,请从项目内的 ThisAddIn 类中运行此示例。 - Dim newDocPath As String = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) + "\test\MyOtherDrawing.vsd" Me.Application.ActiveDocument.SaveAsEx(newDocPath, CShort(Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visSaveAsRO) + CShort(Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visSaveAsListInMRU))- string newDocPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) + @"\test\MyOtherDrawing.vsd"; this.Application.ActiveDocument.SaveAsEx(newDocPath, ((short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visSaveAsRO + (short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visSaveAsListInMRU));
编译代码
此代码示例要求满足以下条件:
- 若要保存具有新名称的文档,My Documents 文件夹(对于 Windows XP 和早期版本)或 Documents 文件夹(对于 Windows Vista)中必须存在一个名为 Test 的目录。