UserPermission Object (Office)

Office 2013 and later

Contribute to this content

Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.

Associates a set of permissions on the active document with a single user and an optional expiration date. Represents a member of the active document's Permission collection.

Use the Add method of the Permission object to grant specific permissions on the active document to a new user, with an optional expiration date. Use the Remove method of the UserPermission object to remove a user and the user's permissions.

While some permissions granted through the user interface (such as msoPermissionPrint) apply to all users, you can use the UserPermission object to assign them on a per-user basis with per-user expiration dates.

The following example determines whether the active document has restricted permissions, then lists users and their assigned permissions by returning the UserId, Permission, and ExpirationDate properties of each UserPermission in the document's Permission collection.

 Dim irmPermission As Office.Permission 
 Dim irmUserPerm As Office.UserPermission 
 Dim strIRMInfo As String 
 Set irmPermission = ActiveWorkbook.Permission 
 If irmPermission.Enabled Then 
 For Each irmUserPerm In irmPermission 
 strIRMInfo = strIRMInfo & irmUserPerm.UserId & vbCrLf & _ 
 " - Permissions: " & irmUserPerm.Permission & vbCrLf & _ 
 " - Expiration Date: " & irmUserPerm.ExpirationDate & vbCrLf 
 MsgBox strIRMInfo, _ 
 vbInformation + vbOKOnly, "IRM Information" 
 MsgBox "This document is not restricted.", _ 
 vbInformation + vbOKOnly, "IRM Information" 
 End If 
 Set irmUserPerm = Nothing 
 Set irmPermission = Nothing