VBA/Excel/Access/Word/Excel/Range Permission
Версия от 16:33, 26 мая 2010; (обсуждение)
Add Edit Range
Sub AddEditRange()
Dim ws As Worksheet, ual As UserAccessList, aer As AllowEditRange, usr As UserAccess
Set ws = ThisWorkbook.Sheets("Protection")
ws.Unprotect "Excel2003"
Set aer = ws.Protection.AllowEditRanges.Add("Edit Range", Range("UserEditRange"), "pass1")
Set usr = aer.Users.Add("Power Users", True)
ws.Protect "Excel2003"
End Sub
Remove Edit Ranges
Sub RemoveEditRanges()
Dim ws As Worksheet, ual As UserAccessList, aer As AllowEditRange
Set ws = ThisWorkbook.Sheets("Protection")
ws.Unprotect "Excel2003"
For Each aer In ws.Protection.AllowEditRanges
aer.Delete
Next
ws.Protect "Excel2003"
End Sub