ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   protecting the workbook through a macro (https://www.excelbanter.com/excel-programming/294806-protecting-workbook-through-macro.html)

abxy[_50_]

protecting the workbook through a macro
 
Ok, starting tommorow, another department has to see my workbook. Now,
would just share the workbook through the network, but since pages ar
added to the workbook as it's updated, i can't have that feature
Instead, i'll just do a savecopyas within my macro that i use to updat
the workbook. The thing is, i don't want them to be able to alter an
data in any cell of the workbook(they don't know vba, so i'm no
worried about them trying to alter code), further more, i don't wan
them to be able to save the workbook (which i already have the code fo
below), so is there someway to say in vba "if the workbook isn't i
drive I:\ (no matter where it is in drive I:\, as long as it's there
then make it so that every cell in this workbook is protecte
(password=no2cs), and the workbook is unsavable" ...that code wouldn'
go in the macro code, would it?

code for making the workbook unsavable as someone has given me:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub

thanks in advance for your help :

--
Message posted from http://www.ExcelForum.com


Dave Peterson[_3_]

protecting the workbook through a macro
 
If the user opens the workbook with macros enabled, then you could use this kind
of code (also under ThisWorkbook):

Option Explicit
Private Sub Workbook_Open()

Dim wks As Worksheet

If LCase(Left(ThisWorkbook.Path, 1)) = "i" Then
'do nothing
Else
For Each wks In ThisWorkbook.Worksheets
With wks
.Activate
.Unprotect Password:="no2cs"
.Cells.Locked = True
.Protect Password:="no2cs"
End With
Next wks
End If

End Sub

But it might be better saving the file with all the cells locked. Then
unprotect the worksheets, unlock the cells that should be unlocked, then
reprotect the sheet--if the file is on the i: drive.



But it may be bet

"abxy <" wrote:

Ok, starting tommorow, another department has to see my workbook. Now, i
would just share the workbook through the network, but since pages are
added to the workbook as it's updated, i can't have that feature.
Instead, i'll just do a savecopyas within my macro that i use to update
the workbook. The thing is, i don't want them to be able to alter any
data in any cell of the workbook(they don't know vba, so i'm not
worried about them trying to alter code), further more, i don't want
them to be able to save the workbook (which i already have the code for
below), so is there someway to say in vba "if the workbook isn't in
drive I:\ (no matter where it is in drive I:\, as long as it's there)
then make it so that every cell in this workbook is protected
(password=no2cs), and the workbook is unsavable" ...that code wouldn't
go in the macro code, would it?

code for making the workbook unsavable as someone has given me:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub

thanks in advance for your help :)

---
Message posted from http://www.ExcelForum.com/


--

Dave Peterson



All times are GMT +1. The time now is 03:27 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com