I can't help you with the coordinates who are in a wrong attribute.
For the rest, this works.
Command INE.
This code assumes the coordinates are always integers. Are they?
(vl-load-com)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; http://www.lee-mac.com/attributefunctions.html
;; Get Attribute Value - Lee Mac
;; Returns the value held by the specified tag within the supplied block, if present.
;; blk - [vla] VLA Block Reference Object
;; tag - [str] Attribute TagString
;; Returns: [str] Attribute value, else nil if tag is not found.
(defun LM:vl-getattributevalue ( blk tag )
(setq tag (strcase tag))
(vl-some '(lambda ( att ) (if (= tag (strcase (vla-get-tagstring att))) (vla-get-textstring att))) (vlax-invoke blk 'getattributes))
)
;; Set Attribute Value - Lee Mac
;; Sets the value of the first attribute with the given tag found within the block, if present.
;; blk - [vla] VLA Block Reference Object
;; tag - [str] Attribute TagString
;; val - [str] Attribute Value
;; Returns: [str] Attribute value if successful, else nil.
(defun LM:vl-setattributevalue ( blk tag val )
(setq tag (strcase tag))
(vl-some
'(lambda ( att )
(if (= tag (strcase (vla-get-tagstring att)))
(progn (vla-put-textstring att val) val)
)
)
(vlax-invoke blk 'getattributes)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; INcrement East
(defun c:ine ( / blk val east i ss)
(setq ss (ssget "_X" '((0 . "*INSERT") (66 . 1))))
(setq i 0)
(repeat (sslength ss)
(setq blk (ssname ss i))
(if
(setq val (LM:vl-getattributevalue (vlax-ename->vla-object blk) "EAST_COORD")) ;; value of the attribute.
(progn
(setq east (substr val 11)) ;; the first 10 characters are fixed.
(setq east (+ 2000 (atoi east))) ;; add 2000
(princ east)
(LM:vl-setattributevalue (vlax-ename->vla-object blk) "EAST_COORD" (strcat "\U+0412\U+041E\U+0421\U+0422\U+041E\U+041A/E. " (itoa east) )) ;; set it back. hardcode that Russian text
)
)
(if
(setq val (LM:vl-getattributevalue (vlax-ename->vla-object blk) "CONTVAR2EASTCOORD")) ;; value of the attribute.
(progn
(setq east (substr val 4)) ;; the first 3 characters are fixed.
(setq east (+ 2000 (atoi east))) ;; add 2000
(princ east)
(LM:vl-setattributevalue (vlax-ename->vla-object blk) "CONTVAR2EASTCOORD" (strcat "E. " (itoa east) )) ;; set it back. hardcode that Russian text
)
)
(setq i (+ i 1))
)
)