Do Not Load if Not Using Auto-Execute Macro

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

If a user chooses to not enable macros and I have

Private Sub Workbook_Open()

which would start up when the file is opened, is it possible to have the
file open fail? In other words, if they don't start it with the macro, don't
let them in. Is that possible?
 
Have you tried it on a test sheet to see what happens.

Just a thought.

-Minitman
 
When a user chooses to not run macros there is no code executed so generally
nothing happens. That was the reason for my question. Is there a way around
this like not allowing the file to open?
 
One way comes to mind, Have the user open an entry workbook which
automatically opens the real workbook if macros are enabled (you will
have to have some little macro set to run so excel will require that
macros be enabled) and then closes the entry workbook leaving the real
workbook open and macros running. If macros are not enabled then only
the entry workbook will be open. You could have the first sheet have
instruction as to how to open the real workbook (eg. close this
workbook and reopen it with macros enabled). Another possibility,
hide all sheets except an opening default sheet with instructions as
closing and reopening with macros enabled. Then the first thing the
workbook open event does is hide the opening sheet (or change what it
is saying - Lots of possibilities here) and unhide the rest of the
workbook and any other opening events you might need.

I have not tried these myself yet. It is only a thought.

I hope this helps.

-Minitman
 
Here's the code that I use to do exactly what you desire. Adjust to fit your
workbook.

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim n As Integer

Application.ScreenUpdating = False
For n = 2 To 24
Sheets(n).Visible = xlVeryHidden
Next
Application.ScreenUpdating = True

End Sub
 

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

Back
Top