---
title: "Таблица"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, bb3106514]
sources:
  - bb3106514.html
  - itable.html
  - itablerange.html
  - icellformat.html
  - icellboundaries.html
  - itablecell.html
---

*API интерфейсов. Версия 7 > Документ 2D *




## Интерфейс ITable

Интерфейс сетки таблицы.
Иерархия:
IDispatch
ITable
Описание:
Интерфейс можно получить с помощью следующих методов:
•IToleranceParam::Table у интерфейса параметров обозначения допуска формы,
•метода IUnknown::QueryInterface у следующих интерфейсов:
•интерфейса таблицы на чертеже IDrawingTable,
•допуска формы ITolerance и ITolerance3D.


## AddColumn - Добавить колонку

Синтаксис Automation:
```
BOOL AddColumn( long ColN,
BOOL right );
```
Синтаксис COM:
```
HRESULT AddColumn( long ColN,
BOOL right,
BOOL * PVal );
Входные параметры:
ColN    - номер столбца, относительно которого нужно вставить новый столбец,
right    - справа (TRUE) или слева (FALSE) от указанного.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Позволяет добавить в таблицу столбец справа или слева от указанного.


## AddRow - Добавить строку

Синтаксис Automation:
```
BOOL AddRow( long RowN, BOOL down );
```
Синтаксис COM:
```
HRESULT AddRow( long RowN, BOOL down, BOOL * PVal );
Входные параметры:
RowN    - номер строки, относительно которой нужно вставить новую строку,
down    - снизу (TRUE) или сверху (FALSE) от указанной.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```


## Cell - Значение в ячейке таблицы

Тип данных: указатель на интерфейс ITableCell
Синтаксис Automation:
```
Cell = Object.Cell (RowN, ColN)    Получить свойство(* )
Cell = Object.GetCell (RowN, ColN)    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Cell (RowN, ColN, &Cell )    Получить свойство
Входные параметры:
RowN    - номер строки,
ColN    - номер колонки.
```
Примечание:
1. Свойство позволяет получить интерфейс ячейки таблицы.
2. Свойство доступно только для чтения.
3. Для допуска формы возвращается интерфейс ITextLine.


## CellById - Значение в ячейке таблицы, заданное по идентификатору

Тип данных: указатель на интерфейс ITableCell
Синтаксис Automation:
```
CellById = Object.CellById( CellID )    Получить свойство(* )
CellById = Object.GetCellById( CellID )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_CellById( CellID, &CellById )    Получить свойство
Входные параметры:
CellID    - Идентификатор ячейки.
```
Примечание:
1. Свойство позволяет получить интерфейс ячейки таблицы.
2. Свойство доступно только для чтения.
3. Идентификаторы ячеек задаются, начиная с 1.


## Clear - Очистить всю таблицу

Синтаксис Automation:
```
BOOL Clear();
```
Синтаксис COM:
```
HRESULT Clear( BOOL * PVal );
Входные параметры:
ColN    - номер удаляемого столбца.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Позволяет очистить таблицу.


## ColumnsCount - Количество столбцов

Тип данных: long
Синтаксис Automation:
```
ColumnsCount = Object.ColumnsCount    Получить свойство(* )
ColumnsCount = Object.GetColumnsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ColumnsCount( &ColumnsCount )    Получить свойство
```
Примечание:
1. Свойство позволяет получить количество столбцов таблицы.
2. Свойство доступно только для чтения.


## DeleteColumn - Удалить колонку из таблицы

Синтаксис Automation:
```
BOOL DeleteColumn( long ColN );
```
Синтаксис COM:
```
HRESULT DeleteColumn( long ColN, BOOL * PVal );
Входные параметры:
ColN    - номер удаляемого столбца.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Позволяет удалить столбец из таблицы.


## DeleteRow - Удалить строку из таблицы

Синтаксис Automation:
```
BOOL DeleteRow( long RowN );
```
Синтаксис COM:
```
HRESULT DeleteRow( long RowN,
BOOL * PVal );
Входные параметры:
ColN    - номер удаляемого столбца.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Позволяет удалить строку из таблицы.


## Range - Интерфейс для групповых операций над колонками

Тип данных: указатель на интерфейс ITableRange
Синтаксис Automation:
```
Cell = Object.Range( BeginRow, BeginColumn EndRow, EndColumn )    Получить свойство(* )
Cell = Object.Range( BeginRow, BeginColumn EndRow, EndColumn )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Range( BeginRow, BeginColumn, EndRow, EndColumn, &Range )    Получить свойство
```
Примечание:
1. Свойство позволяет получить интерфейс для групповых операций над ячейками таблицы.
2. Свойство доступно только для чтения.


## RowsCount - Количество строк

Тип данных: long
Синтаксис Automation:
```
RowsCount = Object.RowsCount    Получить свойство(* )
RowsCount = Object.GetRowsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_RowsCount( &RowsCount )    Получить свойство
```
Примечание:
1. Свойство позволяет получить количество строк таблицы.
2. Свойство доступно только для чтения.


## Интерфейс ITableRange

Интерфейс для групповых операций над ячейками таблицы.
Иерархия:
IDispatch
ITableRange
Описание:
Интерфейс можно получить с помощью метода интерфейса таблицы ITable::Range


## Cells - Массив ячеек в виде SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH

Тип данных: VARIANT
Значения свойства:
| | - Массив SafeArray типа VT_ARRAY | VT_DISPATCH. |
| --- | --- |
Синтаксис Automation:
```
Cells = Object.Cells    Получить свойство(* )
Cells = Object.GetCells    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Cells( &Cells )    Получить свойство
```
Примечание:
1. Свойство позволяет получить массив ячеек SAFEARRAY. Это массив VT_DISPATCH, которые можно преобразовать в интерфейсы ITableCell. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
2. Свойство доступно только для чтения.


## CellsBoundaries - Границы ячеек

Тип данных: указатель на интерфейс ICellBoundaries
Синтаксис Automation:
```
CellsBoundaries = Object.CellsBoundaries()    Получить свойство(* )
CellsBoundaries = Object.GetCellsBoundaries()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_CellsBoundaries( &CellsBoundaries )    Получить свойство
```
Примечание:
1. Свойство позволяет получить интерфейс границы ячеек ICellBoundaries.
2. Свойство доступно только для чтения.


## CellsFormat - Формат ячеек

Тип данных: указатель на интерфейс ICellFormat
Синтаксис Automation:
```
CellsFormat = Object.CellsFormat()    Получить свойство(* )
CellsFormat = Object.GetCellsFormat()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_CellsFormat( &CellsFormat )    Получить свойство
```
Примечание:
1. Свойство позволяет получить интерфейс формата ячеек ICellFormat.
2. Свойство доступно только для чтения.


## ClearCells - Очистить ячейки таблицы

Синтаксис Automation:
```
BOOL ClearCells();
```
Синтаксис COM:
```
HRESULT ClearCells( BOOL * PVal );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Позволяет очистить ячейки таблицы.


## CombineCells - Объединить ячейки

Синтаксис Automation:
```
BOOL CombineCells();
```
Синтаксис COM:
```
HRESULT CombineCells( BOOL * Val );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Позволяет объединить ячейки таблицы.


## DivideCells - Разбить ячейки

Синтаксис Automation:
```
BOOL DivideCells( long ColumnCount,
long RowCount,
BOOL PrepareCombine );
```
Синтаксис COM:
```
HRESULT DivideCells( long ColumnCount,
long RowCount,
BOOL PrepareCombine,
BOOL * PVal );
Входные параметры:
ColumnCount    - число столбцов,
RowCount    - число строк,
PrepareCombine    - объединить ячейки перед разбиением.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Позволяет разбить ячейки таблицы.


## Texts - Получить тексты из ячеек в виде массива VT_ARRAY | VT_BSTR

Тип данных: VARIANT
Синтаксис Automation:
```
Texts = Object.Texts    Получить свойство(* )
Object.Texts = Texts    Установить свойство (* )
Texts = Object.GetTexts( )    Получить свойство (**)
Object.SetTexts( Texts )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Texts( &Texts )    Получить свойство
Object.put_Texts( Texts )    Установить свойство
```


## Интерфейс ICellFormat

Интерфейс формата ячейки.
Иерархия:
IDispatch
ICellFormat
Описание:
Интерфейс можно получить с помощью метода IUnknown::QueryInterface у интерфейса ячейки таблицы ITableCell и с помощью свойства интерфейса операций над ячейками ITableRange::CellsFormat.


## Height - Высота строки

Тип данных: double
Синтаксис Automation:
```
Height = Object.Height    Получить свойство(* )
Object.Height = Height    Установить свойство (* )
Height = Object.GetHeight( )    Получить свойство (**)
Object.SetHeight( Height )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Height( &Height )    Получить свойство
Object.put_Height( Height )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать высоту строки.


## HFormat - Признак горизонтального форматирования

Тип данных: ksTextHorizontalFormatEnum
Синтаксис Automation:
```
HFormat = Object.HFormat    Получить свойство(* )
Object.HFormat = HFormat    Установить свойство (* )
HFormat = Object.GetHFormat( )    Получить свойство (**)
Object.SetHFormat( HFormat )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HFormat( &HFormat )    Получить свойство
Object.put_HFormat( HFormat )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать признак горизонтального форматирования.


## LeftEdge - Отступ слева

Тип данных: double
Синтаксис Automation:
```
LeftEdge = Object.LeftEdge    Получить свойство(* )
Object.LeftEdge = LeftEdge    Установить свойство (* )
LeftEdge = Object.GetLeftEdge( )    Получить свойство (**)
Object.SetLeftEdge( LeftEdge )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LeftEdge( &LeftEdge )    Получить свойство
Object.put_LeftEdge( LeftEdge )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать величину отступа слева.


## OneLine - Однострочный текст

Тип данных: BOOL
Синтаксис Automation:
```
OneLine = Object.OneLine    Получить свойство(* )
Object.OneLine = OneLine    Установить свойство (* )
OneLine = Object.GetOneLine( )    Получить свойство (**)
Object.SetOneLine( OneLine )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_OneLine( &OneLine )    Получить свойство
Object.put_OneLine( OneLine )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать признак однострочного текста.


## ReadOnly - Запретить изменение текста в ячейке

Тип данных: BOOL
Синтаксис Automation:
```
ReadOnly = Object.ReadOnly    Получить свойство(* )
Object.ReadOnly = ReadOnly    Установить свойство (* )
ReadOnly = Object.GetReadOnly( )    Получить свойство (**)
Object.SetReadOnly( ReadOnly )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ReadOnly( &ReadOnly )    Получить свойство
Object.put_ReadOnly( ReadOnly )    Установить свойство
```
Примечание:
1. Свойство позволяет устанавливать и получать признак запрета на изменение текста в ячейке.
2. Для того, чтобы сузить текст в ячейке таблицы необходимо:
•снять признак запрета на редактирование ячейки и изменить текст,
•вызвать метод IDrawingObject::Update,
•установить признак запрета на редактирование ячейки,
•вызвать метод IDrawingObject::Update.


## RightEdge - Отступ справа

Тип данных: double
Синтаксис Automation:
```
RightEdge = Object.RightEdge    Получить свойство(* )
Object.RightEdge = RightEdge    Установить свойство (* )
RightEdge = Object.GetRightEdge( )    Получить свойство (**)
Object.SetRightEdge( RightEdge )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RightEdge( &RightEdge )    Получить свойство
Object.put_RightEdge( RightEdge )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать величину отступа справа.


## SpaceAfter - Отступ снизу

Тип данных: double
Синтаксис Automation:
```
SpaceAfter = Object.SpaceAfter    Получить свойство(* )
Object.SpaceAfter = SpaceAfter    Установить свойство (* )
SpaceAfter = Object.GetSpaceAfter( )    Получить свойство (**)
Object.SetSpaceAfter( SpaceAfter )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SpaceAfter( &SpaceAfter )    Получить свойство
Object.put_SpaceAfter( SpaceAfter )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать величину отступа снизу.


## SpaceBefore - Отступ сверху

Тип данных: double
Синтаксис Automation:
```
SpaceBefore = Object.SpaceBefore    Получить свойство(* )
Object.SpaceBefore = SpaceBefore    Установить свойство (* )
SpaceBefore = Object.GetSpaceBefore( )    Получить свойство (**)
Object.SetSpaceBefore( SpaceBefore )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SpaceBefore( &SpaceBefore )    Получить свойство
Object.put_SpaceBefore( SpaceBefore )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать величину отступа сверху.


## TextStyle - Стиль текста

Тип данных: long
Синтаксис Automation:
```
TextStyle = Object.TextStyle    Получить свойство(* )
Object.TextStyle = TextStyle    Установить свойство (* )
TextStyle = Object.GetTextStyle( )    Получить свойство (**)
Object.SetTextStyle( TextStyle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_TextStyle( &TextStyle )    Получить свойство
Object.put_TextStyle( TextStyle )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать стиль текста в ячейке.


## VFormat - Признак вертикального форматирования

Тип данных: BOOL
Значения свойства:
| TRUE | - изменение шага строк, |
| --- | --- |
| FALSE | - нет форматирования. |
Синтаксис Automation:
```
VFormat = Object.VFormat    Получить свойство(* )
Object.VFormat = VFormat    Установить свойство (* )
VFormat = Object.GetVFormat( )    Получить свойство (**)
Object.SetVFormat( VFormat )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_VFormat( &VFormat )    Получить свойство
Object.put_VFormat( VFormat )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать признак вертикального форматирования.


## Width - Ширина столбца

Тип данных: double
Синтаксис Automation:
```
Width = Object.Width    Получить свойство(* )
Object.Width = Width    Установить свойство (* )
Width = Object.GetWidth( )    Получить свойство (**)
Object.SetWidth( Width )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Width( &Width )    Получить свойство
Object.put_Width( Width )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать ширину столбца.


## Интерфейс ICellBoundaries

Интерфейс границ ячейки.
Иерархия:
IDispatch
ICellBoundaries
Описание:
Интерфейс можно получить с помощью метода IUnknown::QueryInterface у интерфейса ячейки таблицы ITableCell и с помощью свойства интерфейса операций над ячейками ITableRange::CellsBoundaries.


## LineStyle - Стиль линии границы

Тип данных: из перечисления ksCurveStyleEnum
Входные параметры:
| index | - граница, для которой можно установить видимость (из перечисления ksCellBoundariesEnum). |
| --- | --- |
Синтаксис Automation:
```
LineStyle = Object.LineStyle( index )    Получить свойство(* )
Object.LineStyle( index ) = LineStyle    Установить свойство (* )
LineStyle = Object.GetLineStyle( index )    Получить свойство (**)
Object.SetLineStyle( index, LineStyle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LineStyle( index, &LineStyle )    Получить свойство
Object.put_LineStyle( index, LineStyle )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать стиль линии границы ячейки.


## LineVisible - Видимость границы

Тип данных: BOOL
Входные параметры:
| index | - граница, для которой можно установить видимость (из перечисления ksCellBoundariesEnum). |
| --- | --- |
Синтаксис Automation:
```
LineVisible = Object.LineVisible( index )    Получить свойство(* )
Object.LineVisible( index ) = LineVisible    Установить свойство (* )
LineVisible = Object.GetLineVisible( index )    Получить свойство (**)
Object.SetLineVisible( index, LineVisible )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_LineVisible( index, &LineVisible )    Получить свойство
Object.put_LineVisible( index, LineVisible )    Установить свойство
```
Примечание:
Свойство позволяет устанавливать и получать видимость границы ячейки.


## Интерфейс ITableCell

Интерфейс для работы c таблицами.
Иерархия:
IDispatch
IKompasAPIObject
ITableCell
ICellFormat
ICellBoundaries
Описание:
1. Интерфейс можно получить с помощью метода интерфейса сетки таблицы ITable::Cell или свойства ITable::CellById.
2. Для ячейки таблицы 2D документа посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif) интерфейс позволяет получить следующие дополнительные интерфейсы:
•ICellFormat - формат ячейки,
•ICellBoundaries - границы ячейки.
3. Для ячейки таблицы допуска формы интерфейсы ICellFormat и ICellBoundaries не поддерживаются.


## CellID - Идентификатор ячейки

Тип данных: long
Синтаксис Automation:
```
CellID = Object.CellID    Получить свойство(* )
CellID = Object.GetCellID()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ArrowType( &ArrowType )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Column - Номер колонки

Тип данных: long
Синтаксис Automation:
```
Row = Object.Row    Получить свойство(* )
Row = Object.GetRow()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Row( &Row )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство возвращает номер колонки в виртуальной сетке таблицы.


## Row - Номер строки

Тип данных: long
Синтаксис Automation:
```
Row = Object.Row    Получить свойство(* )
Row = Object.GetRow()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Row( &Row )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство возвращает номер строки в виртуальной сетке таблицы.


## Text - Текст

Тип данных: указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
Text = Object.Text    Получить свойство(* )
Text = Object.GetText()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Text( &Text )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Для ячейки таблицы 2D документа возвращается интерфейс IText.
3. Для допуска формы возвращается интерфейс ITextLine.
