LotusScript在RichTextItem中创建表

时间:2017-08-29 11:49:44

标签: lotus-notes lotus-domino lotusscript

我是Notes和LotusScript的新手,我遇到了问题。

我需要在富文本项中创建一个表,我使用了“actionpartagée”(也许是英语中的“共享动作”)。我的代码运行时没有返回错误,但我的表格不可见。

Sub Click(Source As Button)
    On Error Goto errorhandler

    Dim workspace As New NotesUIWorkspace    
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim uidoc As Notesuidocument
    Dim doc_bdl As NotesDocument    
    Dim table As NotesRichTextItem
    Dim rtnav As NotesRichTextNavigator

    ' création du document
    Set uidoc = workspace.ComposeDocument("","","EXPEDITION")
    Set doc_bdl = uidoc.Document
    Set table = New NotesRichTextItem(doc_bdl,"rtTableau")

    ' création du tableau
    Call table.AppendTable(4, 3)
    Set rtnav = table.CreateNavigator
    Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL)
    Dim iRow As Integer
    Dim iColumn As Integer
    For iRow = 1 To 4 Step 1
        For iColumn = 1 To 3 Step 1
            Call table.BeginInsert(rtnav)
            Call table.AppendText("Ligne " & iRow & ", Colonne " & iColumn)
            Call table.EndInsert
            Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
        Next
    Next

    Exit Sub

errorHandler:
    Print Lsi_info(2) & " : " & Err & " (" & Error & ") ligne " & Erl 

    Exit Sub
End Sub

我已阅读过,要查看富文本项的内容,必须刷新文档。所以我在帮助中使用了示例。 我试着补充一下:

Call doc_bdl.Save(True, False)
Dim ws As New NotesUIWorkspace
Call ws.ViewRefresh

我没有错,但我仍然没有看到我的桌子。

我试过了:

Call doc_bdl.Save(True, False)
Call doc_bdl.Refresh(True)

我收到此错误:“非法使用PROPERTY”

有人能帮助我吗?提前谢谢

PS:英语不是我的语言所以请原谅我可能的错误,我找不到法语论坛寻求帮助。

1 个答案:

答案 0 :(得分:1)

你需要做这样的事情:

' Save your backend document with the updated RichText field
Call doc_bdl.Save(True, False)
' Open saved backend document as a uidoc
ws.EditDocument(True, doc_bdl) 

如果你想构建一个包含内容的表,并且你不知道会有多少行(和/或如果你想要更多控制表的格式化),你可以使用这种技术:

http://blog.texasswede.com/dynamic-tables-in-classic-notes/