ProtectSharing Method of Workbook Object VBA

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.



50+ Project Management Templates Pack
Excel PowerPoint Word

Advanced Project Plan & Portfolio Template
Excel Template

Business Presentations Templates Pack
PowerPoint Slides

20+ Excel Project Management Pack
Excel Templates

20+ PowerPoint Project Management Pack
PowerPoint Templates

10+ MS Word Project Management Pack
Word Templates

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(

[Filename], [Password], [WriteResPassword], [ReadOnlyRecommended], [CreateBackup], [SharingPassword], [FileFormat])

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”
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:

  1. Open an Excel Workbook
  2. Press Alt+F11 to Open VBA Editor
  3. Insert a Module from Insert Menu
  4. Copy the above code for activating a range and Paste in the code window(VBA Editor)
  5. Save the file as macro enabled workbook
  6. Press ‘F5’ to run it or Keep Pressing ‘F8’ to debug the code line by line.

Leave A Comment

Related pages

vlookup in excel 2007vba loopingvlookup and hlookup in excel 2007vba append queryunhide columns exceldata mining interview questions and answersif statements excelapplication function vbaexcel formula vlookupexcel vba count rows in rangeexcel sorting rowsexcel descending orderhow to capture data from userform into excel worksheetwriting a macro for excelexcel vba chartstcl commandsaverageifs excelvba update sqlexcel vba close formexcel using if statementsvlookup vba examplemacro copy pasteadding lines to excel spreadsheetvba dsn connection stringexcel remove duplicates in columnvba access recordsetppt schedule templateremove duplicates in excel listvba current directoryhow to delete duplicate items in exceluserform vbaiferror excel functioncomment in vbaif and isblank excel formulavba selection.deletevba display message boxexcel insert rowunlock vba project passwordvba sort rangeusing the sumif function in excelpivots excelcopyfromrecordset vbaenable developer tab excel 2010how to unhide column a in excel 2013concatenate formulastypes of column chartsiserr excelcase is vbaexcel vba switch casefind duplicates excel 2003how to build an excel macroexcel template for tracking tasksexcel 2010 vlookup functionhide duplicates in excelcell color in vbatrending analysis excelqc checklist templateddl commandssubtract two dates excelarray excel vbavba excel select caseexcel remove duplicate rowsexcel chart filterworksheet vbavisual basic comboboxhide cells in excelexcel pivot table auto refreshsql ddl and dml commandsinserting charts in excelcountif function on excelexcel project management template microsoftexcel formula based on color of cellexcel bar of pieexplain vlookuploop function vbaexcel templates checklisthow to use advanced filter in excel 2010ms access msgbox