Have a look at this, its hard coded for output file but that can be changed.
; simple export text
; By Alan H Aug 2019
(defun c:test ( / obj lay lay2 fo ss ss2 ent txt box)
(setq obj (vlax-ename->vla-object (car (entsel "Pick pline object"))))
(setq lay (vla-get-layer obj))
(setq obj (vlax-ename->vla-object (car (entsel "Pick text object"))))
(setq lay2 (vla-get-layer obj))
(setq box 1)
(if (/= (setq ss (ssget "X" (list (cons 0 "lwpolyline")(cons 8 lay)))) nil)
(progn
(setq fo (open "d:\\acadtemp\\test.csv" "w") )
(repeat (setq x (sslength ss))
(setq ent (ssname ss (setq x (- x 1))))
(if ent (setq co-ord (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget ent)))))
(setq ss2 (ssget "wP" co-ord (list (cons 0 "*text")(cons 8 lay2))))
(repeat (setq y (sslength ss2))
(setq txt (vla-get-textstring (vlax-ename->vla-object (ssname ss2 (setq y (- y 1))))))
(write-line (strcat txt "," "box " (rtos box 2 0)) fo)
)
(setq box (+ box 1))
)
)
)
(close fo)
(alert "done")
(princ)
)