以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版本
在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