Как автоматически изменить размер столбца таблицы в Lotus с помощью VBA? - PullRequest
1 голос
/ 24 мая 2011

Я пишу сценарий VBA для создания и отправки таблицы данных по электронной почте.И хотя это работает, это также безобразно.Одна вещь, которую я хотел бы сделать, это изменить размер этих столбцов, чтобы они не занимали всю ширину страницы.

Опция "autosize column" была бы хороша, за исключением того, что я не вижу нигдеAPI.Кроме того, я открыт для ручной настройки ширины каждого столбца.Может кто-нибудь сказать мне, какой код мне нужно добавить?

Dim rtNav As NotesRichTextNavigator
Dim rtTbl As NotesRichTextTable
Dim TblHeader_FontStyle As NotesRichTextStyle
Dim TblBody_BackgroundStyle As NotesRichTextStyle
Dim TblHeader_BackgroundStyle As NotesColorObject
Dim TblBody_FontStyle As NotesColorObject

Sub AppendTable()
'Define styles
    Set TblHeader_BackgroundStyle = NtSession.CreateColorObject
        TblHeader_BackgroundStyle.NotesColor = COLOR_DARK_BLUE
    Set TblHeader_FontStyle = NtSession.CreateRichTextStyle
        TblHeader_FontStyle.NotesColor = COLOR_WHITE
        TblHeader_FontStyle.FontSize = 8

    Set TblBody_FontStyle = NtSession.CreateColorObject
        TblBody_FontStyle.NotesColor = COLOR_WHITE
    Set TblBody_BackgroundStyle = NtSession.CreateRichTextStyle
        TblBody_BackgroundStyle.NotesColor = COLOR_BLACK
        TblBody_BackgroundStyle.FontSize = 10
'-----------------------------------------------------
'Make table structure
    NtBod.AppendTable lRowCount:=1, lColumnCount:=5
    Set rtNav = NtBod.CreateNavigator
    Set rtTbl = rtNav.GetFirstElement(RTELEM_TYPE_TABLE)
    rtTbl.Style = TABLESTYLE_TOP
    Call NtBod.AppendStyle(TblHeader_FontStyle)
    Call rtTbl.SetColor(TblHeader_BackgroundStyle)
    rtNav.FindFirstElement (RTELEM_TYPE_TABLECELL)
'The rest of the procedure to navigate the table and insert the data goes here

1 Ответ

1 голос
/ 24 мая 2011

В методе AppendTable есть параметр, который позволяет указать стиль для каждого столбца, включая ширину.

Из документации метода AppendTable:

Вызов notesRichTextItem. AppendTable (% строк, столбцы% [, метки] [, leftMargin &] [, rtpsStyleArray])

Параметры:
строк% Целое число. Количество строк в таблице.

столбцы% Целое число. Количество столбцов в таблице.

метки Массив типа String. Необязательный. Текст ярлыков для вкладки Таблица. Количество элементов массива должно равняться количеству строк. Пропуск этого параметра добавляет базовый стол. Включая этот параметр добавляет таблицу с вкладками.

leftMargin & Long. Необязательный. Левый край таблицы в твипах. По умолчанию 1440. Следующее константы доступны:

  • RULER_ONE_CENTIMETER (567)
  • RULER_ONE_INCH (1440)

rtpsStyleArray Массив типа NotesRichTextParagraphStyle. Необязательный. Создает таблицу с фиксированной шириной столбцы и атрибуты стиля как указано. Пропуск этого параметра создает таблицу автоширины. массив должен содержать один элемент для каждый столбец в таблице в последовательности. Явно установите первую строку слева поле и левое поле, которые контролируют начало текста относительно начало столбца, а справа поле, управляющее шириной столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...