(vl-load-com) (defun get-attributes-from-table-blocks (/ tabname tabElist tabBlockName blocks blkrefs Attributes) (setq tabname ((lambda (/ obj) (while (not (progn (prompt "\nTabelle wählen: ") (setq obj(ssget "_:S" '((0 . "ACAD_TABLE")))))) (prompt "\nSie müssen eine AutoCAD Tabelle wählen!")) (ssname obj 0))) tabElist (entget tabname) ; ElementListe der Tabelle auslesen tabBlockName (assoc 2 tabElist) blocks (vl-remove-if-not (function (lambda (def) (= 340 (car def)))) tabElist) blkrefs (mapcar (function (lambda (blname / block refs) (setq block (entget blname) refs (vl-remove-if-not (function (lambda (def) (= 331 (car def)))) block) refs (vl-remove-if-not (function (lambda (ins / parent) (setq parent(entget (cdr (assoc 330 (entget ins))))) (equal (assoc 2 parent) tabBlockName))) (mapcar 'cdr refs))) (mapcar 'vlax-ename->vla-object refs))) (mapcar 'cdr blocks)) Attributes(mapcar (function (lambda (row) (mapcar (function (lambda (blkRef / Atts) (if (eq (vla-get-HasAttributes blkRef) :vlax-true) (progn (setq Atts(vla-GetAttributes blkRef) Atts(vlax-safearray->list (vlax-variant-value Atts)) Atts(cons blkref Atts)) Atts)))) row))) blkRefs)))