1つを除くすべてのファンクションキーの無効化(Microsoft Excel)
Lorenzoのワークブックを使用している場合、ユーザーはF2キーのみにアクセスできるようにしたいと考えています。彼は、F2キーを除いて、Excelのすべてのファンクションキーを無効にする方法があるかどうか疑問に思います。
方法はありますが、マクロを使用して実行する必要があります。具体的には、ApplicationオブジェクトのOnKeyメソッドを使用する必要があります。このコードは、F2を除くすべてのファンクションキーを無効にします:
Private Sub Workbook_Open() Application.OnKey "{F1}", "" Application.OnKey "{F3}", "" Application.OnKey "{F4}", "" Application.OnKey "{F5}", "" Application.OnKey "{F6}", "" Application.OnKey "{F7}", "" Application.OnKey "{F8}", "" Application.OnKey "{F9}", "" Application.OnKey "{F10}", "" Application.OnKey "{F11}", "" Application.OnKey "{F12}", "" End Sub
マクロはThisWorkbookモジュールに追加する必要があり、ワークブックを開くと自動的に実行されます。
必要に応じて、マクロを少し短くすることができます:
Private Sub Workbook_Open() Dim sTemp As String Dim J As Integer For J = 1 to 12 If J <> 2 Then sTemp = "{F" & Trim(Str(J)) & "}" Application.OnKey sTemp, "" End If Next J End Sub
また、ブックを閉じるときに、すべてのファンクションキーを再度有効にすることを確認する必要があります。このマクロも、ThisWorkbookモジュールに追加する必要があります:
Private Sub Workbook_BeforeClose(CANCEL As Boolean) Application.OnKey "{F1}" Application.OnKey "{F3}" Application.OnKey "{F4}" Application.OnKey "{F5}" Application.OnKey "{F6}" Application.OnKey "{F7}" Application.OnKey "{F8}" Application.OnKey "{F9}" Application.OnKey "{F10}" Application.OnKey "{F11}" Application.OnKey "{F12}" End Sub
同じコードの短いバージョンを使用することもできます:
Private Sub Workbook_BeforeClose(CANCEL As Boolean) Dim sTemp As String Dim J As Integer For J = 1 to 12 If J <> 2 Then sTemp = "{F" & Trim(Str(J)) & "}" Application.OnKey sTemp End If Next J End Sub
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(13523)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。