You can trigger an Action (including a macro) off "OnAnySelect" event - it's defined in Document Properties, "Triggers". I'm not totally positive, but I think "OnAnySelect" should get triggered when all selections are cleared.
Within the macro, you can then validate what selections are made, and build your logic accordingly.
Oleg's approach will give you more possibilities. However, depending on you need you could set a clear state to return the selection to a previously determined setting when the user click on clear (instead of clearing everything).
Make your selections, go to the clear button and open a small combo box on the right.
Click set clear state.
After this, the clear button go back to this selection.
I was able to run a macro when all the selections were cleared.
First, I created a variable vClear = isnull(GetCurrentSelections())
It can be true or false.
After that, I include a OnChange trigger on this variable to call a macro (message)
with the following code:
set x = ActiveDocument.GetCurrentSelections
s = x.Selections
v = x.VarId
if ubound(s)<0 then
msgbox ("You cleared all the selections")
Instead of the msgbox you could have any code.
I couldn't find a way to dfferenciate a clear button from a one-by-one clear field.
I include my sample app here
Hope it helps,