Thanks Ron, One more revision.
;; By ronjonp modified by CAB
;; Reports all the frozen layers in each VP by layouts
;; CAB added file output
(defun c:VPFrzReport (/ a b c lastln ll ln ss lastvp flg fname fn path+file)
(if (setq ss (ssget "x" '((0 . "VIEWPORT"))))
(if (and (setq path+file (vla-get-fullname (vla-get-ActiveDocument (vlax-get-acad-object))))
(setq path+file (strcat (vl-filename-directory path+file) "\\"
(vl-filename-base path+file) "-VPF.txt"))
(setq fn (open path+file "w")) ; overwrite file
)
(progn
(foreach e (mapcar 'cadr (ssnamex ss))
;;CABS pspace vport filter
(setq a (cdr (assoc 330 (entget e)))
b (cdr (assoc 340 (entget a)))
c (cdr (assoc 331 (entget b)))
ln (cdr (assoc 410 (entget e)))
flg nil
)
(if (or (null lastln) (/= ln lastln))
(progn
(setq lastln ln)
(princ (strcat "\n" ln) fn)
)
)
(if (not (equal c e))
(foreach i (entget e)
(if (and (= (type (setq ll (cdr i))) 'ENAME)
(setq ll (entget ll))
(= (cdr (assoc 0 ll)) "LAYER")
)
(progn
(setq flg t)
(princ (strcat "\n '"
(cdr (assoc 2 ll))
"' controlled in vport"
) fn
)
)
)
)
)
(if (and (or (null lastvp) (/= e lastvp)) flg)
(progn
(setq lastvp e)
(princ (strcat "\n ----------") fn)
)
)
)
(close fn)
)
)
)
(princ)
)
(c:VPFrzReport)