VBA/Excel/Access/Word/Excel/Range Permission

Материал из VB Эксперт
Перейти к: навигация, поиск

Add Edit Range

   <source lang="vb">

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

</source>
   
  


Remove Edit Ranges

   <source lang="vb">

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

</source>