首页 > 解决方案 > 以编程方式以 vsd 格式保存 visio 2016 图表

问题描述

我正在从 Visio 2010 迁移到 Visio 2016 绘图控件。当我在主 Visio 应用程序之外将新文件另存为 .vsd 时,它会引发异常。但是,该文件保存在给定位置。我将文件保存为 .vsd 以实现向后兼容性。这会影响重新加载/打开同一个新文件,并且会引发异常。下面的代码片段适用于 Visio 2010。

BOOL Doc::SaveAs(vbPath)
{
    success = TRUE;

    if (!SUCCEEDED(CVisioDocument::SaveAsEx(vbPath, visSaveAsWS)))   //SaveAsEx return 0
    {
        success = FALSE;
    }

    // Now do a save to get the drawing on the Most Recently Used list
    short saveRc=0;
    if (!SUCCEEDED(CVisioDocument::Save(&saveRc)))  //Get exception here in Save method
        ASSERT(0);

    return success;
}

CVisioDocument::SaveAsEx(vbPath, visSaveAsWS) 返回“0”。这意味着成功保存了新文档。但是在我尝试之后,CVisioDocument::Save(&saveRc) 会抛出异常,因为在保存文档之前,Save 方法会产生错误。另一方面,我可以毫无例外地在主 Visio 应用程序中保存一个新文档。该文件正在主 Visio 应用程序中打开。

那么,你能帮助我如何摆脱上述问题吗?

我发现有人在 Visio 2013 中也有类似的问题, http: //visguy.com/vgforum/index.php?topic=4819.0

标签: visual-c++mfcvisiooffice-2016

解决方案


推荐阅读