ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Prevent Save As (https://www.excelbanter.com/excel-programming/356789-prevent-save.html)

CarlSprake

Prevent Save As
 
I am hoping that someone can help me with this problem.

Is there anyway to prevent a user from doing File - Save As? (preferably
using macros)

I am happy for them to make changes to a workbook, but do not want them to
be able to create different copies.

Thanks for your help

Martin

Prevent Save As
 
Go to the ThisWorkbook module and choose Workbook from the first dropdown at
the top of the module window (rather than General). Choose BeforeSave from
the righthand dropdown: this is a macro that will run automatically when
someone attempts to save the file. The following cancels the whole save
operation if the user chooses Save As:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = True Then Cancel = True
End Sub


"CarlSprake" wrote:

I am hoping that someone can help me with this problem.

Is there anyway to prevent a user from doing File - Save As? (preferably
using macros)

I am happy for them to make changes to a workbook, but do not want them to
be able to create different copies.

Thanks for your help


Dave Peterson

Prevent Save As
 
You won't be able to stop them.

Heck, they could go into Windows explorer and copy that file and put it anywhere
they want.

CarlSprake wrote:

I am hoping that someone can help me with this problem.

Is there anyway to prevent a user from doing File - Save As? (preferably
using macros)

I am happy for them to make changes to a workbook, but do not want them to
be able to create different copies.

Thanks for your help


--

Dave Peterson

Simon Lloyd[_704_]

Prevent Save As
 

You could have the Auto_Open check the filepath if it is different t
the one hardcoded then Kill the application, that way any other copie
that are made and stored else where will be deleted when they ar
opened....................or something like that..........it's just
thought!

Regards,
Simo

--
Simon Lloy
-----------------------------------------------------------------------
Simon Lloyd's Profile: http://www.excelforum.com/member.php...nfo&userid=670
View this thread: http://www.excelforum.com/showthread.php?threadid=52525


Dave Peterson

Prevent Save As
 
And if macros are disabled (or the auto_open/workbook_open procedures are
disabled), then the user can still do what they want.

And macro security isn't too difficult to break--so even protecting the project
wouldn't stop any person really interested.

Simon Lloyd wrote:

You could have the Auto_Open check the filepath if it is different to
the one hardcoded then Kill the application, that way any other copies
that are made and stored else where will be deleted when they are
opened....................or something like that..........it's just a
thought!

Regards,
Simon

--
Simon Lloyd
------------------------------------------------------------------------
Simon Lloyd's Profile: http://www.excelforum.com/member.php...fo&userid=6708
View this thread: http://www.excelforum.com/showthread...hreadid=525252


--

Dave Peterson

Simon Lloyd[_706_]

Prevent Save As
 

How about opening one workbook to call another, that way if macro'
aren't enabled it will never call the other workbook but if it doe
then the protection of the filepath check and the save as disable
should afford some better security than having it all in on
workbook.................anyway i dont know why i'm professing abou
the rights and wrongs because when it comes to programming im as thic
as the next guy!

Regards,

Simon

--
Simon Lloy
-----------------------------------------------------------------------
Simon Lloyd's Profile: http://www.excelforum.com/member.php...nfo&userid=670
View this thread: http://www.excelforum.com/showthread.php?threadid=52525


Dave Peterson

Prevent Save As
 
Yep. That's a common suggestion. But since the project protection of the
opening workbook can be broken, then the password to the real workbook can be
found.

Excel's security isn't really meant to protect intellectual property.



Simon Lloyd wrote:

How about opening one workbook to call another, that way if macro's
aren't enabled it will never call the other workbook but if it does
then the protection of the filepath check and the save as disabled
should afford some better security than having it all in one
workbook.................anyway i dont know why i'm professing about
the rights and wrongs because when it comes to programming im as thick
as the next guy!

Regards,

Simon.

--
Simon Lloyd
------------------------------------------------------------------------
Simon Lloyd's Profile: http://www.excelforum.com/member.php...fo&userid=6708
View this thread: http://www.excelforum.com/showthread...hreadid=525252


--

Dave Peterson

Simon Lloyd[_708_]

Prevent Save As
 

Good job i'm not an intellectual then!

Regards,

Simon


--
Simon Lloyd
------------------------------------------------------------------------
Simon Lloyd's Profile: http://www.excelforum.com/member.php...fo&userid=6708
View this thread: http://www.excelforum.com/showthread...hreadid=525252


[email protected]

Prevent Save As
 
In the past, I have created a new sheet to use as a splash screen and
included the words "This Document requires Macros to be enabled" or
similar on coloured cells cos it looks pretty. All other sheets are
hidden using

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
For Each sh In ActiveWorkbook.Sheets
If sh.Name < "Sheet2" Then
sh.Visible = 2
Else
sh.Visible = -1
End If
Next sh
End Sub

You need to run the code in reverse when opening and if you also add in
a line to close the workbook if the Filename and Path are not as
expected then it would be pretty tight. Be sure to use sheet protection
and VBA project protection and most people won't have the inclination
to hack into it.



All times are GMT +1. The time now is 11:50 AM.

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