我花了过去3个小时在网上搜索无效的答案,所以我希望你能帮助我.我正在编写一个自动化Excel的应用程序.该应用程序有一个"显示/隐藏Excel工作表"的选项,因此您可以查看它,进行任何最终更改等等.
关闭应用程序将自然地关闭Excel的实例,但是,有人可能会直接退出Excel,而不用考虑.这打破了我的应用程序,我似乎无法找到"检查相同的工作簿是否仍然打开,如果没有,重新打开它",然后保存它
我已经尝试了各种各样的事情:检查Excel应用程序是否为空(当它是!= null时它将正确保存,但当它"是"为空时(或者至少,除了!= null之外它甚至不会击中断点,所以我完全失去了:(
请帮忙?
编辑:感谢您到目前为止的所有回复,我很快就会回复他们.
AJ让我编辑我的问题以提供更多信息:我使用来自C#应用程序的COM Interop自动化Excel.该应用程序允许用户输入某些统计信息,然后在Excel中进行更新.有一个按钮允许显示/隐藏Excel,以防有人想要检查工作表中的任何其他信息如果有人直接退出Excel,那么仍然可以使用显示/隐藏按钮(它显示Excel应用程序没有加载工作簿)并且相同的Excel实例仍显示在任务管理器中,但是当我单击"保存"按钮时.
我在上次稍微不同的地方添加了一个try/catch(上次没有捕获任何错误,现在它捕获了两个错误:
来自HRESULT的异常:0x800401A8
和
调用的对象已与其客户端断开连接.(来自HRESULT的异常:0x80010108(RPC_E_DISCONNECTED))
所以基本上似乎我需要再次"重新连接"这两个,虽然在网上查看新的错误消息似乎并不表明它可能是一个问题.
我想知道是否最好将所有值存储在字符串中(有时在应用程序失败的情况下写入临时文件)然后在应用程序关闭时最终将它们推送到Excel中?