2016-05-02 25 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

関連する問題