以vsd格式保存visio 2013图表

本文关键字:2013 图表 visio 保存 vsd 格式 | 更新日期: 2023-09-27 18:06:01

如何在c# visio控制中使用visio 2013保存vsd格式的图表?

我使用以下代码:

string filename = String.Format("{0}.vsd", Guid.NewGuid());
visioControl1.Document.SaveAs(temppath + filename); //Error!

在Visio 2003-2010下可以正常工作,但在Visio 2013中会抛出"File not found"异常。如果我在第一行将扩展名更改为"vsdx"-它又可以了。但是我必须支持所有的Visio版本

以vsd格式保存visio 2013图表

在Visio API中有一个已知的错误:Visio 2013的Visio Control无法另存为VSD。它会表现出各种奇怪的行为。为了解决这个问题,在Visio 2013下,你必须保存为vsdx,并使用Visio的一个不可见的应用程序实例来保存为vsd:

  • 另存为vsdx
  • 复制vsdx
  • 启动一个新的不可见的Visio应用程序对象
  • 使用不可见的app打开vsdx的副本
  • 使用不可见的应用程序保存为vsd
  • (删除步骤1/2中保存的vsdx文件)

确定已安装的Visio版本:VisioVersion = Convert.ToInt32(document.Application.Version.Replace(".", ",")。替换("0"、"))If Visio 2013>= 15 ->

还请注意:要保存为vsd/vsdx,您必须使用:文档。保存eex而不是文档。保存

要创建一个不可见Visio应用的实例,请参考:Microsoft.Office.Interop.Visio.InvisibleApp