disabling automatic startup of macro in vba

F

future_vba_expert

The MSDN site says that you can kill the auto start up of a macro if you hold
down the shift key while starting up the excel spreadsheet. I found that this
did not work for me. I have the macro under 'workbook_open', which I think
would apply. I sometimes have to edit the vba code, and would prefer that the
macro does not run at all at that time. The rest of the time we want it to
run without any prompts or messages (except for fata errors, of course).
Thanks for any help you can provide.
 
G

Gary Brown

The MSDN is correct.
Since you say that it isn't working for you, when you want to edit the VBA
code, try opening Excel, put Security to HIGH, then open the workbook.
Security will not allow the macro to run. Make your changes, save the
workbook and change your Security back to Middle or Low.

If you've 'OK'd' a Digital Signature, so that the Macro Security warning
doesn't even show, get into the VBE and delete the Digital Signature, re-open
the workbook, do your thing, re-assign the Digital Signature and save.
 
F

future_vba_expert

Thanks for your reply, Gary.

I did not see anything on the MSDN about security levels when using the
shift key on the startup. I was hoping that I would not have to change the
security level to cause the macro not to run. We normally keep the security
low for trusted apps that we run in batch mode. However, I could up my
security prior to editing, to force the macro to not run.

But I would also like to find out why the shift key approach is not working
for me.
 
F

future_vba_expert

I found the answer to my own question, after some more research (found a
related discussion on mrexcel.com). The workbook_open is not disabled by
holding the shift key while starting Excel. However, the auto_open is
disabled. So all have to do is put my startup logic in an auto_open macro
(which goes in a regular module, not under ThisWorkbook)), and then I can run
or not run by holding down shift or not holding down shift. Hope this helps
anyone else who has a similar need.
 

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