0

Microsoft Visio 2013 以降、VSD ドキュメントのサポートは終了しました。私たちのアプリには、Visio 2013 を使用して VSDX を VDX に変換する必要がありますが、その方法が見つかりませんでした。

Visio interop DLL を使用して非表示の Visio App を開き、SaveAs を使用して VSDX を VDX として保存しようとしました。コードはエラーなしでコンパイルおよび実行され、出力として .VDX ファイルを取得します。Visio ビューアーを使用して生成された VDX ファイルを表示しようとすると、失敗します。それは言う

Microsoft Viewer はこの操作を完了できません

正常なファイルとして生成されていませんか?

Visio 2010 から Visio 2019 に移行する必要があります。すべてのアプリが移行されるまで、VSDX と VDX の両方の形式をサポートする方法を見つける必要があります。以下の POC を使用して、.vsdx を .vdx に変換したり、.vsd を .vdx に変換したりしましたが、どちらも Visio ビューアーを使用して表示しようとすると機能します。-

以下の POC を使用して .VSDX を .VDX に変換するか、 .VSD を .VDX に変換することを提案した記事はほとんどありませんでした。Visio 2010 エディタを使用しない限り、.VSD から .VDX への変換はまったく不可能ですか?

       // 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

4

1 に答える 1

1

「VDX として保存」機能は、Visio 2013 で本当に削除されました。API からでも。拡張子を付けて名前を.SaveAs渡すと、.vdx実際に得られるのは.vsd拡張子だけのバイナリファイルです.vdx。生成されたファイルをメモ帳で表示するだけで、それを確認できます。これは xml ではありません。

そのファイルをビューアーにロードしようとすると、xml として解析しようとしますが、ファイルが実際にはバイナリ ファイルであるため失敗し、このエラーが発生します。

サポートが必要な場合は.vdx、Visio 2010 を使用してください。

于 2020-04-19T10:16:23.937 に答える