So basically you want a macro that only runs once? You could do what you want with a rule, then disable the rule after it has fired.