Try this :
;; Change Objects Color
(vl-load-com)
(defun C:COC (/ *error* cme c_doc ss clr obj cnt)
(defun *error* ( msg )
(if cme (setvar 'cmdecho cme))
(if (and c_doc (= 8 (logand 8 (getvar 'UNDOCTL)))) (vla-endundomark c_doc))
(if (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*EXIT*")) (princ (strcat "\nOops an Error occurred : " msg)))
(princ)
);end_defun *error*
(cond ( (/= (getvar 'cmdecho) 0) (setq cme (getvar 'cmdecho)) (setvar 'cmdecho 0)))
(prompt "\nSelect Objects to Color : ")
(setq c_doc (vla-get-activedocument (vlax-get-acad-object))
clr 1 ;0 = Byblock , 256 = Bylayer
ss (ssget)
);end_setq
(cond (ss
(if (and c_doc (= 8 (logand 8 (getvar 'UNDOCTL)))) (vla-endundomark c_doc))
(vla-startundomark c_doc)
(repeat (setq cnt (sslength ss))
(setq obj (vlax-ename->vla-object (ssname ss (setq cnt (1- cnt)))))
(if (vlax-property-available-p obj 'color T) (vlax-put-property obj 'color clr))
);end_repeat
(if (and c_doc (= 8 (logand 8 (getvar 'UNDOCTL)))) (vla-endundomark c_doc))
)
);end_cond
(if cme (setvar 'cmdecho cme))
(princ)
);end_defun
The hard coded integer color value is variable "clr" currently set to 1, and found in the first multi (setq) statement