Classe UserAccess (Excel VBA)

A classe UserAccess representa o acesso do usuário a um intervalo protegido.

Set

Para usar uma variável de classe UserAccess, ela primeiro precisa ser instanciada por exemplo

Dim usrac as UserAccess
Set usrac = ActiveSheet.Protection.AllowEditRanges(1).Users(Index:=1)

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo UserAccess: UserAccessList.Item, UserAccessList.Add e AllowEditRange.Users

For Each

Aqui está um exemplo de processamento dos itens UserAccess em uma coleção.

Dim usracUser As UserAccess
For Each usracUser In ActiveSheet.Protection.AllowEditRanges(1).Users
	
Next usracUser

AllowEdit

Retorna ou define um valor Boolean que indica se o usuário terá acesso ao intervalo especificado em uma planilha protegida.

ActiveSheet.Protection.AllowEditRanges(1).Users(1).AllowEdit = True

Delete

Exclui o objeto.

ActiveSheet.Protection.AllowEditRanges(1).Users(1).Delete

Name

Retorna ou define um valor String que representa o nome do objeto.

Dim strName As String
strName = ActiveSheet.Protection.AllowEditRanges(1).Users(1).Name

UserAccessList.Add

Adiciona uma lista de acesso de usuário.

Sintaxe : expression.Add (Name, AllowEdit)

Dim strName As String: strName = 
Dim usrac As UserAccess
Set usrac = ActiveSheet.Protection.AllowEditRanges(1).Users.Add(Name:=strName, AllowEdit:=True)

Arguments

O seguinte argumento é opcional

Name (String) - O nome da lista de acesso de usuário.

AllowEdit (Boolean) - True permite que os usuários da lista de acesso alterem os intervalos editáveis em uma planilha protegida.

UserAccessList.Count

Retorna um valor Long que representa o número de objetos na coleção.

Dim lngCount As Long
lngCount = ActiveSheet.Protection.AllowEditRanges(1).Users.Count

UserAccessList.DeleteAll

Remove todos os usuários que têm acesso a um intervalo protegido em uma planilha.

ActiveSheet.Protection.AllowEditRanges(1).Users.DeleteAll

UserAccessList.Item

Retorna um único objeto de uma coleção.

Para obter mais informações sobre como retornar um único membro de uma coleção, consulte retornando um objeto de uma coleção.

Sintaxe : expression.Item (Index)

Index: O nome ou número de índice do objeto.

Dim usracItem As UserAccess
Set usracItem = ActiveSheet.Protection.AllowEditRanges(1).Users(Index:=1)