visual-c++ - 以编程方式以 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
解决方案
推荐阅读
- xamarin.forms - Xamarin.Forms 多个 WebViews 但 OnPageFinished 似乎只适用于最后一个 Webview?
- javascript - 反应错误无效钩子和状态未定义
- excel - 在特定人名文件夹中保存多个 PDF 字母
- vuex - 在不使用 fetch 的情况下更新服务器端的 Nuxt 存储(已弃用)
- libgit2 - libgit2中的全局操作需要同步吗?
- angular - 根据 Angular 中的条件显示组件的最佳实践
- php - 如何检索数据库中不存在的条目的日期?
- vue.js - 当语言改变 VueJs 时调用 api
- xamarin.forms - ExtendedWebView 未从 ViewModel 显示
- angular - node_modules/@angular/animations/browser/browser.d.ts 错误。不能在环境上下文中声明访问器