关闭并打开excel工作簿而不会闪烁

时间:2015-12-08 16:26:34

标签: c# excel vsto

我一直在尝试从我的应用程序级别的插件中实现这一点,但有些人却无法做到这一点。以下是我在点击应用程序级别插件按钮时尝试实现的步骤:

  1. 在当前应用程序中打开现有的Excel文件。

  2. 做一些刷新。

  3. 刷新后关闭(使用Save = true)

  4. 再次打开工作簿

  5. 做其他一些事情。

  6. 在开始上述步骤之前,我使用了Application.ScreenUpdating = false和Application.EnableAlerts = false。但是发生的事情是,在第3步之后整个应用程序才关闭,然后在第5步之后再次出现。

    我也试过这个:

    1. 在当前应用程序中打开现有的Excel文件。

    2. 做一些刷新。

    3. 在同一个应用程序中添加一个新的空白工作簿(附加步骤)

    4. 刷新后关闭(使用Save = true)

    5. 再次打开工作簿

    6. 做其他一些事情。

    7. 在这种情况下,应用程序也会从UI关闭并在步骤6之后出现。直到第3步,屏幕才冻结(这是想要的)

      这实际上给用户带来了非常糟糕的体验。当我关闭并重新打开工作簿并冻结屏幕时,我想停止关闭UI,以便用户看到他在单击按钮时看到的相同UI。

      无论如何都要为用户实现无缝体验(UI体验),以便用户看不到这种闪烁。任何方法都会有所帮助。

      为什么我要这样做:我正在尝试将Powerpivot模型从一个工作簿复制到另一个工作簿。不知何故,这在手动完成时有效但如果通过VSTO完成则抛出错误(模型损坏)。所以,我想通过代码复制后,如果我保存,关闭并打开工作簿,模型就可以了。如果对这个问题有更好的解决方案,那么它也适用于我。

      • 吉里贾

0 个答案:

没有答案