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

问题描述

| 我正在编写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
    

解决方法

AppendTable
方法中有一个参数,可让您指定每列的样式,包括宽度。 从AppendTable方法文档中:   呼叫   notesRichTextItem.AppendTable(rows%,   列%[,标签] [,leftMargin&]   [,rtpsStyleArray])      参数:   行%整数。表中的行数。      column%整数。表中的列数。      标签类型为String的数组。可选的。标签选项卡的文本   表。数组元素数   必须等于行数。   省略此参数将附加一个   基本表。包含此参数   追加选项卡式表。      leftMargin&Long。可选的。表格的左边距(以缇为单位)。   默认值为1440。   常量可用:         RULER_ONE_CENTIMETER(567)   RULER_ONE_INCH(1440)         rtpsStyleArray类型为NotesRichTextParagraphStyle的数组。可选的。   创建一个固定宽度的表   列和样式属性为   指定。省略此参数   创建一个自动宽度表。的   数组必须包含一个元素   表格中的每一列按顺序排列。   明确设置左第一行   边距和左边距,由哪个控制   相对于   列的开始,右边   页边距,用于控制列宽。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...