Here's two I wrote long ago that I use quite often. DosLib is needed for the linetype one.
(defun c:CLC (/ ss color i layer lst)
;; Change color of selected objects' layer
;; Alan J. Thompson, 07.23.09 / 05.16.11 / 2014.05.21
(if (and (setq ss (ssget))
(setq color (acad_colordlg
(if (eq (sslength ss) 1)
(cdr (assoc 62 (tblsearch "LAYER" (cdr (assoc 8 (entget (ssname ss 0)))))))
1
)
nil
)
)
)
(repeat (setq i (sslength ss))
(if (not (member (setq layer (cdr (assoc 8 (entget (ssname ss (setq i (1- i))))))) lst))
(vla-put-color
(vlax-ename->vla-object (tblobjname "LAYER" (car (setq lst (cons layer lst)))))
color
)
)
)
)
(princ)
)
(defun c:CLL (/ ss linetype i layer lst)
;; Change linetype of selected objects' layer
;; DosLib required (dos_linetypebox)
;; Alan J. Thompson, 05.16.11
(if dos_linetypebox
(if (and (setq ss (ssget)) (setq linetype (dos_linetypebox)))
(repeat (setq i (sslength ss))
(if (not (member (setq layer (cdr (assoc 8 (entget (ssname ss (setq i (1- i))))))) lst))
(vla-put-linetype
(vlax-ename->vla-object (tblobjname "LAYER" (car (setq lst (cons layer lst)))))
linetype
)
)
)
)
(progn (alert "DosLib must be loaded!")
(command "_.browser" "http://www.en.na.mcneel.com/doslib.htm")
)
)
(princ)
)