OPLOSSING:
'API functions to be used
Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _
ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private 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
Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Private Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _
(ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, _
ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
'Constants to be used in our API functions
Private Const EM_SETPASSWORDCHAR = &HCC
Private Const WH_CBT = 5
Private Const HCBT_ACTIVATE = 5
Private Const HC_ACTION = 0
Private hHook As Long
Public Function NewProc(ByVal lngCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Dim RetVal
Dim strClassName As String, lngBuffer As Long
If lngCode < HC_ACTION Then
NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam)
Exit Function
End If
strClassName = String$(256, " ")
lngBuffer = 255
If lngCode = HCBT_ACTIVATE Then 'A window has been activated
RetVal = GetClassName(wParam, strClassName, lngBuffer)
If Left$(strClassName, RetVal) = "#32770" Then 'Class name of the Inputbox
'This changes the edit control so that it display the password character *.
'You can change the Asc("*") as you please.
SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0
End If
End If
'This line will ensure that any other hooks that may be in place are
'called correctly.
CallNextHookEx hHook, lngCode, wParam, lParam
End Function
Function InputBoxDK(Prompt, Title) As String
Dim lngModHwnd As Long, lngThreadID As Long
lngThreadID = GetCurrentThreadId
lngModHwnd = GetModuleHandle(vbNullString)
hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID)
InputBoxDK = InputBox(Prompt, Title)
UnhookWindowsHookEx hHook
End Function
Sub Beveiligen()
'Public Sub MyMacro()
x = InputBoxDK("Uw wachtwoord a.u.b...", "Wachtwoord vereist.")
If x <> "
wachtwoord" Then
MsgBox "Wachtwoord niet correct!...."
Exit Sub
End If
'Voer code in
' Beveiligen macro
' De macro is opgenomen op 5/04/2011 door hulsmans.
'
' Sneltoets: CTRL+SHIFT+B
' ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 12 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 11 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 10 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 09 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 08 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 07 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 06 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 05 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 04 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 03 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 02 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AFDRUK 01 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("DECEMBER 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("NOVEMBER 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("OKTOBER 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("SEPTEMBER 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AUGUSTUS 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("JULI 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("JUNI 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("MEI 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("APRIL 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("MAART 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("FEBRUARI 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("JANUARI 2012").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
End Sub
Sub OphefBeveiliging macro()
'Public Sub MyMacro()
x = InputBoxDK("Uw wachtwoord a.u.b...", "Wachtwoord vereist.")
If x <> "
wachtwoord" Then
MsgBox "Wachtwoord niet correct!...."
Exit Sub
End If
'Voer code in
' OphefBeveiligingDAO Macro
' De macro is opgenomen op 5/04/2011 door hulsmans.
'
' Sneltoets: CTRL+SHIFT+W
'
ActiveSheet.Unprotect
Sheets("JANUARI 2012").Select
ActiveSheet.Unprotect
Sheets("FEBRUARI 2012").Select
ActiveSheet.Unprotect
Sheets("MAART 2012").Select
ActiveSheet.Unprotect
Sheets("APRIL 2012").Select
ActiveSheet.Unprotect
Sheets("MEI 2012").Select
ActiveSheet.Unprotect
Sheets("JUNI 2012").Select
ActiveSheet.Unprotect
Sheets("JULI 2012").Select
ActiveSheet.Unprotect
Sheets("AUGUSTUS 2012").Select
ActiveSheet.Unprotect
Sheets("SEPTEMBER 2012").Select
ActiveSheet.Unprotect
Sheets("OKTOBER 2012").Select
ActiveSheet.Unprotect
Sheets("NOVEMBER 2012").Select
ActiveSheet.Unprotect
Sheets("DECEMBER 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 01 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 02 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 03 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 04 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 05 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 06 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 07 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 08 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 09 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 10 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 11 2012").Select
ActiveSheet.Unprotect
Sheets("AFDRUK 12 2012").Select
ActiveSheet.Unprotect
End Sub
[
Voor 99% gewijzigd door
Verwijderd op 28-11-2011 20:53
]