It's a while since I did this stuff, but it can certainly be done in
certain circumstances, because the code that executes the Action is
passed a reference to the Range in the document that corresponds to the
recognised text. This allows the action code to replace that text (e.g.
to replace a city shortcode by the full city name). So a typical bit of
Action code might be
e.Range.Text = "full city name"
However, that also lets you do
e.Range.Application.Run "macroname"
and I have just verified that starting with a smart tag written in
VB.NET, you can call a macro in Normal using that mechanism.
However,
a. I can't give you any more detail than that. In particular, I can't
tell you whether this is a reliable mechanism
b. I think you would have to write your own Smart tag code - I can't
see how you could do this using a MOSTL list
Peter Jamieson
http://tips.pjmsn.me.uk
Visit Londinium at
http://www.ralphwatson.tv