I think you already have asked, you should get some responses, Lee-mac, Tharwat, Maratovich, Ronjonp, Grr, maybe me, come to mind. Its more about if you have done it before so its easy to modify to suit.
Here is step 1 as asked.
(setq tbldict (vla-item (vla-get-dictionaries (vla-get-database (vla-get-activedocument (vlax-get-acad-object)))) "Acad_TableStyle"))
(setq x (vla-get-count tbldict))
(setq tlist '())
(repeat x
(setq tlist (cons (vla-get-name (vla-item tbldict (setq x (- x 1)))) tlist))
)
You may have this file.
list of methods for a table.txt
This may reveal a lot note the use of PUT and SET
Tables various settings.lsp