Тема: Редактирование таблицы

Подскажите пожалуйста, как программно в пространстве листа(Layout) внести изменения в число строк и в значения ячеек уже существующей таблице. В инете описания только по созданию новых таблиц, а как отредактировать уже существующую. Кажется это производиться через метод GetText(), но найти описание не смог.

Re: Редактирование таблицы

> Андрей
Кажется так (вслепую):

(vla-settext tableObj numRow numColumn "Test string")

~'J'~

Re: Редактирование таблицы

С вводом значений в ячейки разобрался
Dim Vie As Variant
Dim n, m As Integer
ThisDrawing.ActiveSpace = acPaperSpace
For n = 1 To ThisDrawing.PaperSpace.Count - 1
    Set Vie = ThisDrawing.PaperSpace.Item(n)
        If Vie.ObjectName = "AcDbTable" Then
    Vie.SetText 1, 0, "Hello!!!"
    ‘ Vie.InsertRows
    End If
Next
Изменять число строк не получается, наверное нужно перейти к нужной строке и вызвать команду удаление или добавление строк. Подскажите пожалуйста как.
Если можно то в бейсике.

Re: Редактирование таблицы

> Андрей
Вот блин я ж не на том языке состряпал...
даже не посмотрел что форум VBA :)
Ладно все равно пока выкладываю:

(defun change-table-contents (datalist / atable col cols data row rows sset start)
  (prompt "\n\t***\tSelect table\t***\n")
  (setq sset (ssget "_:S" '((0 . "ACAD_TABLE"))))
  (setq    atable (vlax-ename->vla-object (ssname sset 0))
    cols   (vla-get-columns atable)
    rows   (vla-get-rows atable)
    start  rows
  )
  (if (eq :vlax-false (vla-get-titlesuppressed atable))
    (setq rows (1- rows))
  )
  (if (eq :vlax-false (vla-get-headersuppressed atable))
    (setq rows (1- rows))
  )
  (setq row (- start rows))
  (repeat rows
    (setq col 0)
    (setq data (car datalist))
    (foreach strvalue data
      (vla-settext atable row col strvalue)
      (setq col (1+ col))
    )
    (setq datalist (cdr datalist)
      row  (1+ row)
    )
  )
)
; TesT :
(defun C:test ()
(setq somelist '(("a" "b" "c" "d")("e" "f" "g" "h")("i" "j" "k" "l")));и тд и тд..())
(change-table-contens somelist)
(princ)
)
(C:test)

Вставить строки в таблицу можно так:

(vla-insertrows atable {номер 1-й строки} {высота строки} {число строк})

На VBA:

atable.InsertRows {номер 1-й строки}, {высота строки}, {число строк}

~'J'~

Re: Редактирование таблицы

Большое спасибо!!! Все получилось.