ProtectSharing Workbook Method in VBA is used to Saves the workbook and protects it for sharing. When shared workbook has protected, if you want to do any modifications we need to unshared and unprotect workbook at the beginning of the procedure to do any changes to the workbook. If you forgot the password, you cannot unshared or unprotect the workbook.
Why we need to ProtectSharing a Workbook using VBA?
We need to protect shared workbook using VBA to saves the workbook and protect the workbook for sharing to confidential information securely.
VBA ProtectSharing Workbook – Syntax
Here is the syntax to protectSharing workbook using VBA.
Workbooks(“Your Workbook Name”).ProtectSharing(
Where
Filename: Its Optional parameter. It indicates the name of the file path.
Password: Its Optional parameter. Password is Case sensitive and no longer than 15 characters. It indicates the password for the file to protect shared workbook. Use Strong password.
WriteResPassword: Its Optional parameter. It indicates if a file is saved with the password and the password is not provided when the file is opened, then the file is opened read only file.
ReadOnlyRecommended: Its Optional parameter. When this value is ‘True’, it will display a message when the file is opened and it will recommended that the file be opened read only.
CreateBackup: Its Optional parameter. If the value is ‘True’, then it creates backup file.
SharingPassword: Its Optional parameter. It is used to protect the file for sharing.
FileFormat: Its Optional parameter. It indicates the file format.
VBA ProtectSharing Workbook:Example 1
Please find the below example, It will show you how to protect workbook when the file has shared.
Sub protect_Sharing() ActiveWorkbook.protectSharing Password:="YourPassword”, SharingPassword:=”SharedPassword” End Sub
In the above example we are protecting shared workbook by using ‘protectSharing’ method of Workbook object in the active workbook. When working with workbook if it has password protected and shared, if you want to do any changes in the code first you have to unshare and unprotect the password at the beginning of the procedure.
VBA ProtectSharing Workbook:Example 2
Here is the one more example to protect shared workbook.
Sub Protect_Share() Dim Wkb As Workbook Set Wkb = Workbooks.Open("C:Sample.xlsm") Wkb.ProtectSharing "C:Sample.xlsm", "Pwd1", "Pwd2", , True, "Pwd3" Wkb.Close End Sub
VBA ProtectSharing Workbook: Remove Sharing
Here is the one more example to remove sharing to the workbook.
Sub Workbook_Remove_Share() Dim Wkb As Workbook Set Wkb = Workbooks.Open("C:Sample.xlsm", , , , "Pwd1", "Pwd2") Wkb.UnprotectSharing "Pwd3" Wkb.WritePassword = "" Wkb.Password = "" End Sub
In this example we are removing sharing password of workbook for the above macro (Example 2).
VBA ProtectSharing Workbook – Instructions
Please follow the below step by step instructions to execute the above mentioned VBA macros or codes:
- Open an Excel Workbook
- Press Alt+F11 to Open VBA Editor
- Insert a Module from Insert Menu
- Copy the above code for activating a range and Paste in the code window(VBA Editor)
- Save the file as macro enabled workbook
- Press ‘F5’ to run it or Keep Pressing ‘F8’ to debug the code line by line.