Тема: На одном Автокаде работает, на другом - нет!!!

Не могу понять почему на одном автокаде идет код, а на другом нет!!!!
Sub Tablica()
'УСТАНОВКА В ТАБЛИЦУ СТИЛЯ ТЕКСТА
Set tekushiiStil = ThisDrawing.ActiveTextStyle
StilTekstaVtabl = tekushiiStil.Name
  Dim adNumRows As Integer
  Dim adInsertPnt As Variant
  Dim TablOpor As AcTablOpor
  Dim adRow As Long
  Dim pStr As Integer
  On Error Resume Next
  adNumRows = 2
  adInsertPnt = ThisDrawing.Utility.GetPoint(, "Select insertion point for table>>")
  Set TablOpor = ThisDrawing.ModelSpace.AddTable(adInsertPnt, adNumRows, 4, 0, 66)
  If Err Then
    TablOpor.Delete
    Set TablOpor = ThisDrawing.ModelSpace.AddTable(adInsertPnt, adNumRows, 4, 1, 66)
  End If
  TablOpor.SetColumnWidth 0, 45
  TablOpor.SetColumnWidth 1, 92
  TablOpor.SetColumnWidth 2, 16
  TablOpor.SetColumnWidth 3, 32
  TablOpor.RegenerateTableSuppressed = True
  TablOpor.RepeatTopLabels = False
          TablOpor.SetText 0, 0, "Заголовок"
    TablOpor.SetTextStyle2 0, 0, 0, StilTekstaVtabl
   TablOpor.SetTextHeight2 0, 0, 0, 2.5
TablOpor.SetCellAlignment 1, 1, acMiddleCenter
          TablOpor.SetText 1, 0, "Обозначение"
    TablOpor.SetTextStyle2 1, 0, 0, StilTekstaVtabl
   TablOpor.SetTextHeight2 1, 0, 0, 2.5
TablOpor.SetCellAlignment 1, 1, acMiddleCenter
          TablOpor.SetText 1, 1, "Наименование"
    TablOpor.SetTextStyle2 1, 1, 0, StilTekstaVtabl
   TablOpor.SetTextHeight2 1, 1, 0, 2.5
TablOpor.SetCellAlignment 1, 1, acMiddleCenter
          TablOpor.SetText 1, 2, "Кол."
    TablOpor.SetTextStyle2 1, 2, 0, StilTekstaVtabl
   TablOpor.SetTextHeight2 1, 2, 0, 2.5
TablOpor.SetCellAlignment 1, 2, acMiddleCenter
          TablOpor.SetText 1, 3, "№  на плане"
    TablOpor.SetTextStyle2 1, 3, 0, StilTekstaVtabl
   TablOpor.SetTextHeight2 1, 3, 0, 2.5
TablOpor.SetCellAlignment 1, 3, acMiddleCenter
  adRow = 2
    TablOpor.InsertRows adRow, 1, 1
              TablOpor.SetText adRow, 0, "Первое"
        TablOpor.SetTextStyle2 adRow, 0, 0, StilTekstaVtabl
       TablOpor.SetTextHeight2 adRow, 0, 0, 2.5
     TablOpor.SetCellAlignment adRow, 0, acMiddleLeft
              TablOpor.SetText adRow, 1, "Второе"
        TablOpor.SetTextStyle2 adRow, 1, 0, StilTekstaVtabl
       TablOpor.SetTextHeight2 adRow, 1, 0, 2.5
     TablOpor.SetCellAlignment adRow, 1, acMiddleLeft
              TablOpor.SetText adRow, 2, "Третье"
        TablOpor.SetTextStyle2 adRow, 2, 0, StilTekstaVtabl
       TablOpor.SetTextHeight2 adRow, 2, 0, 2.5
     TablOpor.SetCellAlignment adRow, 2, acMiddleCenter
              TablOpor.SetText adRow, 3, "Четвертое"
        TablOpor.SetTextStyle2 adRow, 3, 0, StilTekstaVtabl
       TablOpor.SetTextHeight2 adRow, 3, 0, 2.5
     TablOpor.SetCellAlignment adRow, 3, acMiddleCenter
    adRow = adRow + 1
TablOpor.RegenerateTableSuppressed = False
End If
End Sub

Re: На одном Автокаде работает, на другом - нет!!!

Ошибок в коде многовато. Работал он только за счет On Error Resume Next.
1 Dim TablOpor As AcTablOpor, заменить на AcadTable
2 Высота строк таблицы =0, поставте нужную высоту!

Set TablOpor = ThisDrawing.ModelSpace.AddTable(adInsertPnt, adNumRows, 4, [b]0[/b], 66)

3 Проверка ошибки при создании таблицы лишняя
4 ...
Короче, вот так примероно:

Sub Tablica()
'УСТАНОВКА В ТАБЛИЦУ СТИЛЯ ТЕКСТА
   Dim adNumRows As Integer
   Dim adInsertPnt As Variant
   Dim TablOpor As AcadTable
   Dim adRow As Long
   Dim pStr As Integer
   Dim tekushiiStil As AcadTextStyle
   Dim StilTekstaVtabl As String
   Set tekushiiStil = ThisDrawing.ActiveTextStyle
   StilTekstaVtabl = tekushiiStil.Name
   adNumRows = 2
   adInsertPnt = ThisDrawing.Utility.GetPoint(, "Select insertion point for table>>")
   Set TablOpor = ThisDrawing.ModelSpace.AddTable(adInsertPnt, adNumRows, 4, 8, 66)
   TablOpor.SetColumnWidth 0, 45
   TablOpor.SetColumnWidth 1, 92
   TablOpor.SetColumnWidth 2, 16
   TablOpor.SetColumnWidth 3, 32
   TablOpor.RegenerateTableSuppressed = True
   TablOpor.RepeatTopLabels = False
   'установка стиля текст
   Dim intRow As Integer
   intRow = TablOpor.GetRowType(2)
   TablOpor.SetTextStyle 2, StilTekstaVtabl
   TablOpor.SetTextStyle 4, StilTekstaVtabl
   'установка высоты текста
   TablOpor.SetTextHeight 2, 2.5
   TablOpor.SetTextHeight 4, 2.5
   'устаеновка выравнивания
   TablOpor.SetAlignment 2, acMiddleCenter
   TablOpor.SetAlignment 4, acMiddleCenter
   TablOpor.SetText 0, 0, "Заголовок"
   TablOpor.SetText 1, 0, "Обозначение"
   TablOpor.SetText 1, 1, "Наименование"
   TablOpor.SetText 1, 2, "Кол."
   TablOpor.SetText 1, 3, "№ на плане"
   adRow = 2
   TablOpor.InsertRows adRow, 8, 1
   'установка стиля текст для вставленной строки
   TablOpor.SetTextStyle 1, StilTekstaVtabl
   TablOpor.SetTextHeight 1, 2.5
   TablOpor.SetText adRow, 0, "Первое"
   TablOpor.SetCellAlignment adRow, 0, acMiddleLeft
   TablOpor.SetText adRow, 1, "Второе"
   TablOpor.SetCellAlignment adRow, 1, acMiddleLeft
   TablOpor.SetText adRow, 2, "Третье"
   TablOpor.SetCellAlignment adRow, 2, acMiddleCenter
   TablOpor.SetText adRow, 3, "Четвертое"
   TablOpor.SetCellAlignment adRow, 3, acMiddleCenter
   TablOpor.RegenerateTableSuppressed = False
End Sub

Re: На одном Автокаде работает, на другом - нет!!!

Кстати с принципом определения и назначением типа ячейки (rowTypes), мне самому нифига не понятно.
Как четко определить/назначить тип ячеек для заголовка таблицы, заголовков столбцолв, данным и др.?
Может кто просветить малясь )
Кстати ошибся выше с таблицей,
   

Dim intRow As Integer
intRow = TablOpor.GetRowType(2)

Можно убрать. Я как раз и определял тип ячеек эксперементально)))

Re: На одном Автокаде работает, на другом - нет!!!

Если в стиле отображаются и title, и heads, то первая строка будет title, вторая - heads, дальше пойдут datas. Если title скрыт, то тип первой отображаемой строки будет heads. Вроде так...

Re: На одном Автокаде работает, на другом - нет!!!

Дарья, мы тут меняем свойства таблицы, а по хорошему надо создать табличный стиль и применять его к таблицам. думаю заняться сегодня-завтра, хва юзать заготовки.
Алексей, было бы логично:
Title - 1 (rowtypes)
header - 2
dates - 3
а получается 2, 4, 1.
буду разбираться.

Re: На одном Автокаде работает, на другом - нет!!!

> Vildar
Очень интересно было бы узнать про табличный стиль. Я смотрела в справке - там куча кодов всяких и как и всегда скудные комментарии :(