如果已经打开,请双击重新打开工作簿

我想防止打开已经打开的工作簿。 我的工作簿包含VBA用户窗体。

重新打开工作簿的事件是通过双击存储在特定位置的工作簿图标触发的,同一文件之前是打开并运行的VBA用户窗体。

我已经尝试过下面的代码,但它不帮助我防止重新打开。

Private Sub Workbook_Open() If ThisWorkbook.IsInplace = True Then MsgBox "Workbook Already Open" ThisWorkbook.Close (False) Else MsgBox "Single Instance Open" End If End Sub 

预期的输出 :当我双击excel文件,而文件已经打开,那么它应该不会理想(或可以覆盖工作簿)

实际输出 :当文件已经打开的时候双击excel文件,会popup对话框“文件已经打开,文件重启将放弃更改”,selectyes,no和cancel。

实际输出:当文件已经打开的时候双击excel文件,会popup对话框“文件已经打开,文件重启将放弃更改”,selectyes,no和cancel。

这是默认行为,AFAIK不能更改。 它不应该是一个好的。 至less你知道这个工作簿已经打开了,你可以点击 No 尽pipe如果你仍然点击Yes那么你不能责怪这个系统。 你可以吗? ;)

想象一下,如果你设法得到你想要的东西,那么如果用户不知道你做了什么,就会认为鼠标不工作,或者Excel应用程序出错。 你为什么要使事情变得复杂?