Когда кто-то использует книгу Лоренцо, он хочет, чтобы пользователю была доступна только клавиша F2 . Он задается вопросом, есть ли способ отключить все функциональные клавиши в Excel, за исключением клавиши F2 ?
Есть способ, но он должен делать с помощью макросов. В частности, вы захотите использовать метод OnKey объекта Application. Этот код отключит все функциональные клавиши, за исключением 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 JEnd 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 Конец, если следующий JEnd Sub