Sarahjane,
I replied via e-mail. As you are now aware, it was a scope issue. Happens to all of us form time to time ;-)
For others reading this the OP was getting a runtime time error on:
m_oTmp.BuildingBlockEntries("bbTRONLY1").Insert Where:=oCCA.Range, RichText:=True
She had declared m_oTmp and set it to a template in the templates collection. Unfortunately she did it at a procedure level in her document_open event.
She had then declared the variable m_oTmp again in her form click event so she got no compile errors. Naturally at runtime m_oTmp was nothing and the error occurred.