ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   How can I disable macros after the initial open? (https://www.excelbanter.com/excel-discussion-misc-queries/71262-how-can-i-disable-macros-after-initial-open.html)

Troy

How can I disable macros after the initial open?
 
I have created an excel template with macros in Excel 2003. The template
works great. I am trying to figure out how to automatically disable the
macros after the initial open and save of the template. I tried to open the
xls file after I did a test run and the macros were still active. How can I
fix this?

bigwheel

How can I disable macros after the initial open?
 
I'm sure that there will be a more elegant solution to this but, how about
setting a global variable when the macro runs first which you use as a flag
to by-pass subsequent running of any macros i.e. flag = false then

If flag then
do something
else

endif

"Troy" wrote:

I have created an excel template with macros in Excel 2003. The template
works great. I am trying to figure out how to automatically disable the
macros after the initial open and save of the template. I tried to open the
xls file after I did a test run and the macros were still active. How can I
fix this?


Troy

How can I disable macros after the initial open?
 
Not sure what or where I would do this. Unless you are talking about the VB
code. I have done some of that but not a lot. Would have to figure out how to
do that.

"bigwheel" wrote:

I'm sure that there will be a more elegant solution to this but, how about
setting a global variable when the macro runs first which you use as a flag
to by-pass subsequent running of any macros i.e. flag = false then

If flag then
do something
else

endif

"Troy" wrote:

I have created an excel template with macros in Excel 2003. The template
works great. I am trying to figure out how to automatically disable the
macros after the initial open and save of the template. I tried to open the
xls file after I did a test run and the macros were still active. How can I
fix this?


bigwheel

How can I disable macros after the initial open?
 
You say that you have created a macro, what does it do? Could you post an
example?

"Troy" wrote:

Not sure what or where I would do this. Unless you are talking about the VB
code. I have done some of that but not a lot. Would have to figure out how to
do that.

"bigwheel" wrote:

I'm sure that there will be a more elegant solution to this but, how about
setting a global variable when the macro runs first which you use as a flag
to by-pass subsequent running of any macros i.e. flag = false then

If flag then
do something
else

endif

"Troy" wrote:

I have created an excel template with macros in Excel 2003. The template
works great. I am trying to figure out how to automatically disable the
macros after the initial open and save of the template. I tried to open the
xls file after I did a test run and the macros were still active. How can I
fix this?


Dave Peterson

How can I disable macros after the initial open?
 
If you're really working with a template and a normal workbook, you could add a
line like:

if thisworkbook.path < "" then
exit sub
end if

If the workbook hasn't been saved, then there is not path--it must be a
template.

If you're not using a .xlt file -- just using a .xls and calling it a template,
then this won't work.

But you could use some other technique:

if lcase(thisworkbook.fullname) = lcase("whateverpath\filename.xls") then
'you're still looking at the "template"
end if



Troy wrote:

I have created an excel template with macros in Excel 2003. The template
works great. I am trying to figure out how to automatically disable the
macros after the initial open and save of the template. I tried to open the
xls file after I did a test run and the macros were still active. How can I
fix this?


--

Dave Peterson


All times are GMT +1. The time now is 12:45 AM.

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