I've been single stepping your code and I'm beginning to see how it works. It's great to be finally beginning to understand this OLE stuff. You've made me a believer. Two things though; 1) I don't understand why it overwrites or gets rid of other macros. From following the code I can't see where it would do this. I must admit, though, that I haven't fully tested the deletion factor, as I call it. So I'll continue with my experimentation. 2) Do you know of any good sources of information to learn about the exposed methods of the OLE servers? For instance, you used Item and Import in the olecallfunc function. Are there any that would add a menu item and tie it into a macro? Where would I find the Info? You are a fountain of knowledge but I can't keep bugging you forever.

Also where did you learn about that undocumented "s" typelist?(typelist is what the help file calls it).

You used it here:

olecallfunc($vbcomponents,"import","s","$module_file")

Anyway, I still can't believe it works! There really isn't anything that Kixtart can't do.

Kirm