2016-05-02 36 views
0

巨大的歉意。已經找了幾個小時這個答案,找不到它。Excel 2013 VBA禁用退出鍵

我試過各種方法來禁用我的工作表中的退出鍵。

全部無濟於事。我已加入社區,希望得到一些幫助。

我已經試過

Application.EnableCancelKey = xLDisabled 

而且我用

Application.OnKey "{ESC}", "" 

我不想退出鍵在整個工作簿關閉,只是我在工作表中。

我希望得到一些幫助。

我不是一個多產的VBA作家 - 更多的是因爲工作而不是生活。

謝謝

堅果

+1

取消VBA代碼執行的關鍵所屬,無一不是和'OnKey'是一個應用程序級的設置,因此無論使用哪種方法你試過到目前爲止將會影響*每*工作簿,關閉當前工作簿即使。你實際上想要預防哪些具體行爲(以及爲什麼)?我問,因爲可能有其他更好的選擇。 –

+0

對不起,如果我缺少一個點,但爲什麼你不分配函數到你的application.onkey {「Esc」}事件,並檢查activeWorksheet.Name? –

+0

David,我想阻止用戶更改全屏設置。所以我一直在制定一個例程,它將設置屏幕大小並禁用工作表中的非必要內容,並提供我自己的導航。# – Nutty

回答

0

您是否在尋找這樣的事情?

Private Sub Workbook_Open() 
    If ActiveSheet.Name = "Sheet2" Then 
    Application.OnKey "{ESC}", "" 
    Else 
    Application.OnKey "{ESC}" 
    End If 
End Sub 

Private Sub Workbook_Activate() 
    If ActiveSheet.Name = "Sheet2" Then 
     Application.OnKey "{ESC}", "" 
    Else 
     Application.OnKey "{ESC}" 
    End If 
End Sub 

Private Sub Workbook_Deactivate() 
    Application.OnKey "{ESC}" 
End Sub 

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
    Application.OnKey "{ESC}" 
End Sub 
+0

我想我是。謝謝。請問。我想我可能會迷惑自己一點。功能區是我按下退出鍵時重新出現的唯一元素。我懷疑我還沒有理解我需要禁用功能區? – Nutty