<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">One more data point. I added a bit more to my logging and learned that the seven calls to the ScriptItem constructor each time the macro is invoked are for the seven global objects which the host application (XMetaL) makes available to the scripts:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"> * FormDriver</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"> * ActiveDocument</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"> * Selection</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"> * Application</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"> * FormFuncs</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"> * ResourceManager</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">So at least part of that puzzle is cleared up, though it's still somewhat unsettling that only seven calls to ScriptItem.Close() are made, regardless of how many ScriptItem objects have been instantiated during a session.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Cheers,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Bob</div></div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div></div></div></div></div></div></div>