I thought you were asking for help to write a routine by yourself.
Looks like you're hoping for a ready-made program instead.
(defun c:SETEXP (/ name blk btr expl opt)
(while
(not
(and
(setq name (getstring "\nEnter the block name: "))
(setq blk (tblobjname "block" name))
)
)
(prompt (strcat "\nBlock '" name "' not found"))
)
(setq btr (entget (cdr (assoc 330 (entget blk))))
expl (cdr (assoc 280 btr))
)
(initget "Yes No")
(if (setq opt (getkword
(strcat "\nSet explodable [Yes/No] <"
(if (= 0 expl)
"No"
"Yes"
)
">: "
)
)
)
(if (= opt "Yes")
(if (= 0 expl)
(entmod (subst '(280 . 1) (assoc 280 btr) btr))
)
(if (= 1 expl)
(entmod (subst '(280 . 0) (assoc 280 btr) btr))
)
)
)
(princ)
)