Here is a function version that makes it easier to use in programming. For my *error* function, I included:
(SayIt "Houston, we have a problem!"). Have you tried numbers yet? It's awesome! You have to type in "inches" and "feet" etc. I haven't tested it while a dialog is active, but I will tomorrow.
(defun SayIt (Phrase$ / Sapi)
(setq Sapi (vlax-create-object "Sapi.SpVoice"))
(vlax-invoke Sapi "Speak" Phrase$ 0)
(vlax-release-object Sapi)
(princ)
);defun SayIt