Found it. Here's a quick routine to get a table style if it exists, or create a new one if it doesn't exist
Suggestions welcome:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Routine: GetOrCreateTableStyle ;;;
;;; Purpose: Create or retrieve a tablestyle object - specific to Acad 2008, may have to be ;;;
;;; modified for later versions of acad. ;;;
;;; Arguments: Doc - document object ;;;
;;; StyleName - string, the name of the tablestyle ;;;
;;; Returns: IAcadTableStyle2 for the specified stylename ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun GetOrCreateTableStyle (doc StyleName / dict newstyle stylecount stylelist tablestyle tablestyles)
(setq
doc (if doc doc (vla-get-activedocument(vlax-get-acad-object)))
dict (vla-get-dictionaries doc)
tablestyles (vla-item dict "acad_tablestyle")
StyleCount (vla-get-count tablestyle)
)
(vlax-for TableStyle TableStyles
(setq StyleList (cons (cons (vla-get-name TableStyle) TableStyle) StyleList))
)
(if (assoc StyleName StyleList)
(cdr (assoc StyleName StyleList))
(progn
(setq
NewStyle (vla-addobject tablestyles StyleName "AcDbTableStyle")
)
(vla-put-name NewStyle StyleName)
NewStyle
)
)
)