Using your Field expression example, I couldn't get this field to evaluate:
(defun c:test ( / col en in obj p1 row ss tables utl )
(defun LM:Num2Alpha ( n )
(if (< n 27)
(chr (+ 64 n))
(strcat (LM:Num2Alpha (/ (1- n) 26)) (LM:Num2Alpha (1+ (rem (1- n) 26))))
)
)
(if
(setq ss
(ssget "_X"
(list
(cons 0 "ACAD_TABLE")
(cons 410 (if (= 1 (getvar 'CVPORT)) (getvar 'CTAB) "Model"))
)
)
)
(repeat (setq in (sslength ss))
(setq tables (cons (vlax-ename->vla-object (ssname ss (setq in (1- in)))) tables))
)
)
(if tables
(if
(and
(setq p1 (getpoint "\nPick Cell: "))
(vl-some
(function
(lambda ( table )
(if (eq :vlax-true
(vla-hittest table (vlax-3D-point (trans p1 1 0))
(vlax-3D-point (trans (getvar 'VIEWDIR) 1 0)) 'row 'col
)
)
(setq obj table)
)
)
)
tables
)
(progn
(while
(progn (setvar 'ERRNO 0) (setq en (car (entsel "\nSelect Text: ")))
(cond
( (= 7 (getvar 'ERRNO))
(princ "\nMissed, try again.")
)
( (eq 'ENAME (type en))
(if (not (wcmatch (cdr (assoc 0 (entget en))) "TEXT,MTEXT"))
(princ "\nInvalid Object.")
)
)
)
)
)
en
)
)
(vla-put-textstring (vlax-ename->vla-object en)
(strcat "%<\\AcExpr (Table(%<\\_ObjId "
(if
(and
(vl-string-search "64" (getenv "PROCESSOR_ARCHITECTURE"))
(vlax-method-applicable-p
(setq utl
(vla-get-utility
(vla-get-activedocument (vlax-get-acad-object))
)
)
'getobjectidstring
)
)
(vla-getobjectidstring utl obj :vlax-false)
(itoa (vla-get-objectid obj))
)
">%)." (LM:Num2Alpha (1+ col)) (itoa (1+ row)) ")>%"
)
)
)
(princ "\nNo Tables Found.")
)
(princ)
)