Prevent disabling of macros?

G

Guest

Dear All

Does anyone know how to prevent a workbook from opening if the user
chooses to disable macros? (eg they have the Security Level set to
'high').

I want to use code to provide certain protections to spreadsheets (for
example, to ensure that users can't copy and paste data). But if the
user opens without enabling macros, they can bypass these extra
protections.

I have thought of one way:
Upon saving, hide all sheets except for one sheet with a message on it
"In order to use this spreadsheet, you must enable macros". Upon
opening, code unhides the other spreadsheets and hides the first sheet.
When combined with Protect Workbook Structure this works, kind of.
But it's pretty clumsy and looks a bit confusing to the user (they get
a brief period of time to read the first sheet when the book loads).

Cheers
Richard
 
N

NickHK

Richard,
That's the only way.
You have to leave the WB in such a state (using the _BeforeSave and/or _
BeforeClose) that if macro are NOT enabled, the user sees only the advice
sheet and cannot interact with the other sheets.
If you could interact with the Macro Security settings, then any virus
writer could also.

NickHK
 
K

Kasama

Richard

I faced a similar issue, that the 'cover sheet' which advises those with
macros disabled is visible to users with macros enabled, before the macro
runs and hides it. It is intrusive, and I searched unsuccessfully for ways to
delay it displaying until the macro kicked in. In the end I formatted the
cover sheet as a graphic about 75 mm by 60 mm in the centre of the sheet so
that it looks like the kind of splash screen that first displays when you run
proprietary software (complete with version and publication details). This
looked more professional and users didn't notice the intrusion.

Regards
 
G

Guest

Hi Kasama

Thanks for that tip, that's a really good idea, I'll give it a try!!

Cheers
Richard
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top