在Visio Addin中,API方法Application.Documents.OpenEx()在打开多个文件(一个接一个且不并行)后引发异常。

问题描述 投票:0回答:1
我正在尝试通过orde中的加载项以编程方式打开一些文件(50-400之间),以对其进行编辑。我以顺序的方式执行此操作,依次打开,编辑,关闭等等。

有时,在发生意外行为时,OpenEx()方法抛出system.accessviolationexception并且程序停止,我无法清除程序正在尝试打开的文件,并且无法取消打开和继续运行的要求。

我可以捕获异常,但是一旦特定文件发生异常,然后尝试打开以下所有文件,就会引发异常。我想问一下:1.为什么有时会发生不一致的情况?2.是否可以取消文件打开请求?是否需要/可以清除内存?我需要怎么做才能在某些文件发生后打开文件?

这是主要代码:

Globals.ThisAddIn.Application.Documents.OpenEx(currVisioFile,(int)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenRW);

我正在尝试通过orde中的加载项以编程方式打开一些文件(50-400之间),以对其进行编辑。我以顺序方式执行此操作,依次打开,编辑,关闭等。有时,在意外的情况下...
c# visual-studio office-addins visio
1个回答
0
投票
如果从Visio加载项本身打开很多文件或者变得不稳定(我也一直面临这个问题,建议您为每个文档打开和关闭一个新的Visio实例。
© www.soinside.com 2019 - 2024. All rights reserved.