1
我有一個工作簿Book1
它設置在開口的熱鍵:熱鍵被再次打開工作簿
Public Sub workbook_open()
Application.OnKey "^m", "abc"
End Sub
這裏是abc()
的代碼:
Sub abc()
bkName = ActiveWorkbook.Name
runString = "'" & bkName & "'!xyz"
Application.Run runString
End Sub
Sub xyz()
MsgBox "this book: " & ThisWorkbook.Name & vbNewLine & "active: " & ActiveWorkbook.Name
End Sub
我有一個工作簿Book2
具有相同的代碼。當我打開Book1
,然後打開Book2
,然後關閉Book2
,然後按按Ctrl + 米,Book2
打開,我得到一個消息框:
this book: Book1.xlsm
active: Book1.xlsm
所以Book1
運行abc()
,但我猜來自Book2
的.OnKey
的Workbook_Open()
正在導致Book2
重新打開,即使它實際上未調用Book2
的abc()
。
如何防止Book2
重新打開?有沒有辦法刪除它的.OnKey
,但保留Book1
的完好?
是的,這裏也一樣。必須有一些解決方法...:d –
如果我們將它放在workbook_Activate中,並且在Workbook_Deactivate時將其刪除,該怎麼辦? –