如何使用 VBA 自动调整/调整 Lotus 中表的列大小?

发布于 2024-11-09 14:32:02 字数 1522 浏览 0 评论 0原文

我正在编写一个 VBA 脚本来创建和创建通过电子邮件发送数据表。虽然它确实有效,但它也很难看。我想做的一件事是调整这些列的大小,这样它们就不会占据页面的整个宽度。

“自动调整列大小”选项会很好,但我在 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

I am coding up a VBA script to create & email a table of data. And while it does work, it's also ugly. One thing I'd like to do is resize these columns so they don't take up the entire width of the page.

The "autosize column" option would be nice, except I don't see anywhere in the API. Alternatively, I'm open to manually setting the widths of each column. Can someone tell me what code I need to add?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

葵雨 2024-11-16 14:32:02

AppendTable 方法中有一个参数,可让您指定每列的样式,包括宽度。

来自 AppendTable 方法文档:

致电
NotesRichTextItem.AppendTable(rows%,
列% [,标签] [,leftMargin&]
[, rtpsStyleArray] )

参数:
行数% 整数。表中的行数。

列% 整数。表中的列数。

labels 字符串类型的数组。选修的。选项卡式标签的文本
桌子。数组元素的数量
必须等于行数。
省略此参数会附加一个
基本表。包括这个参数
附加一个选项卡式表格。

leftMargin& 长。选修的。表格的左边距(以缇为单位)。
默认为1440。以下
常量可用:

  • RULER_ONE_CENTIMETER (567)
  • RULER_ONE_INCH (1440)

rtpsStyleArray NotesRichTextParagraphStyle 类型的数组。选修的。
创建一个固定宽度的表格
列和样式属性为
指定的。省略该参数
创建一个自动宽度的表格。这
数组必须包含一个元素
表中的每一列按顺序排列。
显式设置第一行向左
margin 和 left margin,它们控制
文本相对于的开始
列的开头和右侧
margin,控制列宽。

There is a parameter in the AppendTable method that lets you specify the style for each column, including the width.

From the AppendTable method documentation:

Call
notesRichTextItem.AppendTable(rows%,
columns% [, labels] [,leftMargin&]
[, rtpsStyleArray] )

Parameters:
rows% Integer. Number of rows in the table.

columns% Integer. Number of columns in the table.

labels Array of type String. Optional. Text of labels for a tabbed
table. The number of array elements
must equal the number of rows.
Omitting this parameter appends a
basic table. Including this parameter
appends a tabbed table.

leftMargin& Long. Optional. Left margin of the table in twips.
Defaults to 1440. The following
constants are available:

  • RULER_ONE_CENTIMETER (567)
  • RULER_ONE_INCH (1440)

rtpsStyleArray Array of type NotesRichTextParagraphStyle. Optional.
Creates a table with fixed-width
columns and style attributes as
specified. Omitting this parameter
creates an auto-width table. The
array must contain one element for
each column in the table in sequence.
Explicitly set the first line left
margin and left margin, which control
the start of text relative to the
start of the column, and the right
margin, which controls column width.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文