Welcome to AUGI.
Code:
(vl-load-com)
(defun c:BLKNTOBLKL (/ *error* acDoc oBlocks oLayers ss name)
(defun *error* (msg)
(if ss (vla-delete ss))
(if acDoc (vla-endundomark acDoc))
(cond ((not msg)) ; Normal exit
((member msg '("Function cancelled" "quit / exit abort"))) ; <esc> or (quit)
((princ (strcat "\n** Error: " msg " ** "))) ; Fatal error, display it
)
(princ)
)
(if (ssget "_:L" '((0 . "INSERT")))
(progn
(vla-startundomark
(setq acDoc (vla-get-activedocument (vlax-get-acad-object)))
)
(setq oBlocks (vla-get-blocks acDoc))
(setq oLayers (vla-get-layers acDoc))
(vlax-for x (setq ss (vla-get-activeselectionset acDoc))
(setq name (vla-get-effectivename x))
(if (= :vlax-false (vla-get-isxref (vla-item oBlocks name)))
(progn
(vla-add oLayers name)
(vla-put-layer x name)
)
)
)
)
)
(*error* nil)
)