Macro Runs if Template name is .....

  • Thread starter Thread starter Nigel Downing
  • Start date Start date
N

Nigel Downing

How can I automatically run a VBA macro based on the name of the template
the workbook was made from?
ie my template name is "bracing.xlt"
and I want all documents based on this to auto run a macro on opening.
(The macro will be used to load certain toolbars which are relevant to only
these workbooks.
I can run it manually but I want to automate it)

Thanks in advance
 
Thanks for the help but I need this explained more.
Do I make a vba module in the template file and in that define a

public sub () Workbook_Open
'macro call goes here
' ..........
End Sub

?

Nigel
(still on Excel 97)
 
When you're in the VBE, you can hit ctrl-R to see the project explorer.

Find you your project and select it.
hit the asterisk on the numeric keypad to expand all the levels.

You'll see a ThisWorkbook item under the "microsoft excel objects".

That's where your code could go.

Alternatively, you could put your macro in a General module and name it
Auto_open.

Then each time the template opens (and each time a workbook based on that
template) opens, your code will run.
 
Thanks Dave

I've now got it working fine by putting the macro in a General module and
named it Auto_open.

But I'm curious as to your first answer. I can see the listing of
sub-headings such as
AcceptLabelsInFormulas
Date1904
IsAddIn
etc and the editable item immediately to the right of each.
Which item do I put the macro in?
Or is this a feature of later versions of excel (I use office 97)
?

Thanks

Nigel
 
It sounds like you are looking at the properties window of the ThisWorkbook
part of your project. You would right click on thisworkbook (back in the
project explorer window) and select view code. This will bring up the
Thisworkbook module. At the top of the module will be two dropdowns.
Select Workbook in the left one and then Open in the right one.
 
Back
Top