Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
Przesunięty przez: zielony
01-05-2010, 21:44
CTRL+h ,Esc
Autor Wiadomość
malolat123
forumowicz



Posty: 20
Wysłany: 01-05-2010, 13:10   CTRL+h ,Esc

Temat poruszany przy okazji zabezpieczen ale nie moge go odnalezc :-( . Moglby ktos wrzucic kody do blokowana Ctrl+h i Esc?

Dopisane

Ctrl+h rozwiazalem :-)

Kod:
Application.OnKey "^h", ""


brakuje mi "tylko" Esc .
Pomocy PLIZZZZZZZ
_________________
Zycie to nie je bajka.Jest okrutne i pelne zasadzek.

Pozdrowionka
malolat
ID posta: 88937 Skopiuj do schowka
 
 
tkuchta1 
Excel Expert



Pomógł: 1694 razy
Posty: 2750
Wysłany: 01-05-2010, 22:13   

Zmiany dot. skrótów trzeba cofać więc dla Ctrl+H
Kod:
Option Explicit

Private Sub Workbook_Open()
    Application.OnKey "^h", ""
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "^h"
End Sub


co do ESC to zależy. Może wystarczy Application.EnableCancelKey = xlDisabled

ale jeżeli chcesz kompletenie wyłączyć z użycia klawisz ESC sprawa się komplikuje

przykład pochodzi z http://www.vb-helper.com/howto_disable_keys.html
nie wiem czy nie dałoby się jeszcze to uprościć ale robię takie rzeczy pierwszy raz :-P

W Thisworkbook
Kod:
Option Explicit

Private Sub Workbook_Open()
    Application.OnKey "^h", ""
    hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL, _
                                       AddressOf LowLevelKeyboardProc, _
                                       Application.Hinstance, _
                                       0)
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "^h"
    UnhookWindowsHookEx hhkLowLevelKybd
    hhkLowLevelKybd = 0
End Sub


W module Standardowym
Kod:
Option Explicit
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Const HC_ACTION = 0
Public Const WM_KEYDOWN = &H100
Public Const WM_KEYUP = &H101
Public Const WM_SYSKEYDOWN = &H104
Public Const WM_SYSKEYUP = &H105

Public Const VK_ESCAPE = &H1B

Public Const VK_LWIN = &H5B  'Left Windows key (Microsoft® Natural® keyboard)
Public Const VK_RWIN = &H5C  'Right Windows key (Natural keyboard)
Public Const VK_APPS = &H5D  'Applications key (Natural keyboard)

Public Const WH_KEYBOARD_LL = 13

Public Type KBDLLHOOKSTRUCT
    vkCode As Long
    scanCode As Long
    flags As Long
    time As Long
    dwExtraInfo As Long
End Type

Public hhkLowLevelKybd As Long

Dim p As KBDLLHOOKSTRUCT

Public Function LowLevelKeyboardProc(ByVal nCode As Long, _
                                     ByVal wParam As Long, _
                                     ByVal lParam As Long) As Long
   Dim fEatKeystroke As Boolean
   
   If (nCode = HC_ACTION) Then
      If wParam = WM_KEYDOWN Or _
         wParam = WM_SYSKEYDOWN _
         Or wParam = WM_KEYUP Or _
         wParam = WM_SYSKEYUP Then
            CopyMemory p, ByVal lParam, Len(p)
            fEatKeystroke = p.vkCode = VK_LWIN Or _
                            p.vkCode = VK_RWIN Or _
                            p.vkCode = VK_APPS Or _
                            p.vkCode = VK_ESCAPE
        End If
    End If
   
    If fEatKeystroke Then
        LowLevelKeyboardProc = -1
    Else
        LowLevelKeyboardProc = CallNextHookEx(0, nCode, wParam, ByVal lParam)
    End If
End Function

Public Sub KoniecZabawy()
    'Ctrl+Shift+Q
    If hhkLowLevelKybd <> 0 Then UnhookWindowsHookEx hhkLowLevelKybd
End Sub


Proc. KoniecZabawy to furtka - można usnąć

(nie znam wszystkich możliwych konsekwencji takich eksperymentów - taki mały Worning!!)

Zeszyt1.zip
Pobierz Plik ściągnięto 27 raz(y) 12.54 KB

_________________
Tomek



Moja Stronka
APoCoTenExcel
Ostatnia aktualizacja: 2014-08-27
ID posta: 88947 Skopiuj do schowka
 
 
malolat123
forumowicz



Posty: 20
Wysłany: 02-05-2010, 09:05   

Dzieki sliczne. Dokladnie o to mi chodzilio :-) .
_________________
Zycie to nie je bajka.Jest okrutne i pelne zasadzek.

Pozdrowionka
malolat
ID posta: 88952 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum


Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.