首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Visio 2013或更高版本从VSDX获取VDX格式?

如何使用Visio 2013或更高版本从VSDX获取VDX格式?
EN

Stack Overflow用户
提问于 2020-04-19 07:20:51
回答 1查看 1.5K关注 0票数 0

从Microsoft 2013开始,对VSD文档的支持已经结束。我们的应用程序需要使用Visio 2013将VSDX转换为VDX,但我找不到办法。

我尝试使用Visio互操作DLL打开不可见的Visio应用程序,并尝试使用SaveAs将我的VSDX保存为VDX。代码编译和运行,没有任何错误,我得到一个.VDX文件作为输出。当我试图使用Visio查看器查看生成的VDX文件时,它失败了。上面写着

Microsoft查看器无法完成此操作。

它不是作为一个健康文件生成的吗?

我们需要从Visio 2010移到Visio 2019。我们需要找到一种方法来支持VSDX和VDX格式,直到我们所有的应用程序都被迁移。我使用下面的POC将.vsdx转换为.vdx或将.vsd转换为.vdx,当我试图使用Visio查看器查看时,这两种方法都是有效的。-

很少有文章建议我使用下面的POC将.VSDX转换为.VDX或将.VSD转换为.VDX,这两者都很有用。所以,除非我使用Visio2010编辑器,否则.VSD to .VDX是不可能的。

代码语言:javascript
运行
复制
       // Create Visio Application Object
        Visio.Application vsdApp = new Visio.Application();

        // Make Visio Application Invisible
        vsdApp.Visible = false;

        // Create a document object and load a diagram
        Visio.Document vsdDoc = vsdApp.Documents.Open(dataDir + "Drawing1.vsd");

        // Save the VDX diagram
        vsdDoc.SaveAs(dataDir + "SaveDiagramToVDXwithVSTO_out.vdx");   

链接参考- https://csharp.hotexamples.com/examples/Microsoft.Office.Interop.Visio/Application/-/php-application-class-examples.html

EN

回答 1

Stack Overflow用户

发布于 2020-04-19 10:16:23

Visio 2013中真正删除了“另存为VDX”功能。即使是从API。如果您使用.SaveAs调用带有.vdx扩展名的名称,那么实际上得到的是.vsd二进制文件,只有扩展名.vdx。您可以通过在记事本中查看生成的文件来确保这一点--它不是xml。

当您试图在查看器中加载该文件时,它尝试将其解析为xml,但失败了,因为文件实际上是一个二进制文件,因此您将得到此错误。

如果您需要支持.vdx,请继续使用Visio 2010。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61300872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档