Is it possible to have a macro that checks if it succeeds before continuing?

I would like to announce my TAs, but I find myself mashing to get it to execute as soon as it can, since animations usually clip and prevent it from being used instantaneously (and it refuses to queue while in a macro), causing me to spam chat.

Is there a way to prevent the announcement from going out if the attack is never used? Or a way for the macro to queue the action to use instead of just "nope"ing it away and moving forward to the chat command?