Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 28
Default Problem using VBA for Excel to protect a Workbook with a password.

I've developed a workbook with a number of sheets. I want to prevent users
from copying or deleting sheets without suitable control so I used Excel VBA
code to protect and unprotect the workbook. The problem is that when I
protect the workbook with a password, when I get back to Excel I am able to
unprotect the workbook without providing the password. Can anyone explain
what I'm doing wrong please? The code is:

dim wkbkone as workbook

Set wkbkone = Application.ActiveWorkbook
wkbkone.Protect "abcd"
wkbkone.Protect "abcd"
ActiveWorkbook.Protect Structu=True, Windows:=True
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,533
Default Problem using VBA for Excel to protect a Workbook with a password.

Hi

Look at this line:

ActiveWorkbook.Protect Password:="abcd", Structu=True, Windows:=True

Regards,
Per

"Alan Smith" skrev i meddelelsen
...
I've developed a workbook with a number of sheets. I want to prevent users
from copying or deleting sheets without suitable control so I used Excel
VBA
code to protect and unprotect the workbook. The problem is that when I
protect the workbook with a password, when I get back to Excel I am able
to
unprotect the workbook without providing the password. Can anyone explain
what I'm doing wrong please? The code is:

dim wkbkone as workbook

Set wkbkone = Application.ActiveWorkbook
wkbkone.Protect "abcd"
wkbkone.Protect "abcd"
ActiveWorkbook.Protect Structu=True, Windows:=True


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Problem using VBA for Excel to protect a Workbook with a password.

I have used this code for te past 5 years without any trouble:

Option Explicit

Public Sub ProtectAllSheets()

Dim intSheet As Integer
Dim blnVisible As Boolean
Dim strCurrentSheet As String
Dim blnSheetProtectionState As Boolean
Dim strSheetProtectionPassword As String
Dim blnScreenUpdate As Boolean
Dim intCalc As Integer

blnScreenUpdate = application.ScreenUpdating
intCalc = application.Calculation
application.ScreenUpdating = False
application.Calculation = xlCalculationManual

strSheetProtectionPassword = "q"
strCurrentSheet = ActiveSheet.Name
For intSheet = 1 To Sheets.count

blnVisible = Sheets(intSheet).Visible
Sheets(intSheet).Visible = True
Sheets(intSheet).Protect Password:=strSheetProtectionPassword
Sheets(intSheet).Visible = blnVisible

Next intSheet

Sheets(strCurrentSheet).Select
application.ScreenUpdating = blnScreenUpdate
application.Calculation = intCalc

End Sub

Public Sub UnProtectAllSheets()

Dim intSheet As Integer, blnVisible As Boolean, strCurrentSheet As String
Dim blnSheetProtectionState As Boolean, strSheetProtectionPassword As String
Dim blnScreenUpdate As Boolean, intCalc As Integer

blnScreenUpdate = application.ScreenUpdating
intCalc = application.Calculation

application.ScreenUpdating = False
application.Calculation = xlCalculationManual

strSheetProtectionPassword = "q"
strCurrentSheet = ActiveSheet.Name
For intSheet = 1 To Sheets.count

blnVisible = Sheets(intSheet).Visible
Sheets(intSheet).Visible = True
Sheets(intSheet).Unprotect Password:=strSheetProtectionPassword
Sheets(intSheet).Visible = blnVisible

Next intSheet

Sheets(strCurrentSheet).Select
application.ScreenUpdating = blnScreenUpdate
application.Calculation = intCalc

End Sub

You will need to add in a line to protect the workbook, but that should be
easy.

ALTERNATIVELY, here is another method:

Option Explicit

Public Sub UnProtectWS()
Dim i As Integer

ActiveWorkbook.Unprotect password:="business"
For i = 1 To Sheets.Count
Sheets(i).Unprotect password:="business"
Next i
End Sub


Public Sub ProtectWS()
Dim i As Integer

For i = 1 To Sheets.Count
Sheets(i).Protect password:="business"
Next i
ActiveWorkbook.Protect password:="business"

End Sub


Hope this helps you.


--
Alan Hutchins


"Alan Smith" wrote:

I've developed a workbook with a number of sheets. I want to prevent users
from copying or deleting sheets without suitable control so I used Excel VBA
code to protect and unprotect the workbook. The problem is that when I
protect the workbook with a password, when I get back to Excel I am able to
unprotect the workbook without providing the password. Can anyone explain
what I'm doing wrong please? The code is:

dim wkbkone as workbook

Set wkbkone = Application.ActiveWorkbook
wkbkone.Protect "abcd"
wkbkone.Protect "abcd"
ActiveWorkbook.Protect Structu=True, Windows:=True

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 28
Default Problem using VBA for Excel to protect a Workbook with a passw

Thanks for the help with this. It worked fine. I've onlty been using Excel
VBA for 2 weeks (self-taught) and I'm still learning!

Thanks to Alan Hutchins too.

"Per Jessen" wrote:

Hi

Look at this line:

ActiveWorkbook.Protect Password:="abcd", Structu=True, Windows:=True

Regards,
Per

"Alan Smith" skrev i meddelelsen
...
I've developed a workbook with a number of sheets. I want to prevent users
from copying or deleting sheets without suitable control so I used Excel
VBA
code to protect and unprotect the workbook. The problem is that when I
protect the workbook with a password, when I get back to Excel I am able
to
unprotect the workbook without providing the password. Can anyone explain
what I'm doing wrong please? The code is:

dim wkbkone as workbook

Set wkbkone = Application.ActiveWorkbook
wkbkone.Protect "abcd"
wkbkone.Protect "abcd"
ActiveWorkbook.Protect Structu=True, Windows:=True



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to remove password protect to open Excel 2007 workbook JoWrobs Excel Discussion (Misc queries) 3 February 4th 10 11:18 PM
How do I password protect an excel workbook? Debbie B Excel Discussion (Misc queries) 2 August 3rd 09 01:05 PM
How do I password protect a workbook in Excel? Elmer Excel Discussion (Misc queries) 4 March 13th 08 06:50 PM
How to password protect several excel workbook pages using a macro p88t Excel Programming 2 September 28th 04 05:36 PM
password protect on workbook problem Jo[_6_] Excel Programming 1 January 19th 04 11:12 PM


All times are GMT +1. The time now is 07:12 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"