Lotus notes Lotusscript:canned';加载文档时(保存前)无法获取RichText字段

Lotus notes Lotusscript:canned';加载文档时(保存前)无法获取RichText字段,lotus-notes,attachment,lotusscript,richtext,Lotus Notes,Attachment,Lotusscript,Richtext,我对lotusscript开发有一个问题。 这是我的设想: 我设计了一个名为“表单”的表单 使用表单“form”创建新文档 表单“form”包含一个名为“ListPod”的RichText字段 在编辑模式下打开文档时,我想直接在“ListProd”字段中自动附加一个文件(C:\Files\file.pdf) 我使用事件“OnLoad”访问RichText字段并执行我的工作 我的问题是“ListProd”字段还不存在。有什么想法吗 以下是我的资料来源: Sub Onload(Source As N

我对lotusscript开发有一个问题。 这是我的设想:

  • 我设计了一个名为“表单”的表单
  • 使用表单“form”创建新文档
  • 表单“form”包含一个名为“ListPod”的RichText字段
  • 在编辑模式下打开文档时,我想直接在“ListProd”字段中自动附加一个文件(C:\Files\file.pdf)
  • 我使用事件“OnLoad”访问RichText字段并执行我的工作

    我的问题是“ListProd”字段还不存在。有什么想法吗

    以下是我的资料来源:

    Sub Onload(Source As Notesuidocument)
        Dim fileName As String 
        fileName$ = Dir$( "c:\Files\*.pdf", 0 )
        Print fileName$
        If Not ( fileName$ = "" ) Then
            Dim object As NotesEmbeddedObject
            Dim rtItem As NotesRichTextItem
            Set rtItem = Source.Document.GetFirstItem("ListProd")
            If rtItem.Type = RICHTEXT Then
                Set object = rtitem.EmbedObject(EMBED_ATTACHMENT, "", "c:\Files\"+fileName$)            
            End If
        End If
    End Sub
    
    “rtItem.Type”引发错误,因为“rtItem”为NULL。我可以做什么来访问此字段


    提前感谢您

    使用
    QueryOpen
    事件并尝试使用
    NotesRichTextItem
    构造函数重新创建您的项目:

    子查询打开(源作为Notesuidocument,模式作为Integer,Isnewdoc作为Variant,继续作为Variant)
    标注文档作为注释文档
    Dim rItem As notes RichTextItem
    Dim bIsNewDoc作为布尔值
    Set doc=Source.Document
    bIsNewDoc=True
    如果不是Isnewdoc,而不是doc,那么什么都不是
    bIsNewDoc=doc.IsNewNote
    如果结束
    如果不是bIsNewDoc且模式%=1,则
    “你的代码
    调用doc.removietem(“ListProd”)
    Set rtitem=New NotesRichTextItem(doc,“ListProd”)
    调用rtitem.EmbedObject(嵌入附件“”,文件名$)
    “你的代码
    如果结束
    端接头
    
    我在这里找到了一个解决方案

    使用:uidoc.refresh True,我可以将所有前端修改信息传输到后端。因此,我可以访问我的“ListProd”字段而不保存:)


    希望它能帮助你:)

    谢谢你的回答。我试图这样做,但在保存文档后发现了两个字段“ListProd”。另一方面,Pdf没有出现在它应该出现的地方@yellinatem使用
    QueryOpen
    事件。我已经更新了我的答案。好主意,谢谢!只有一个小问题:不能将新的ListProd放在表单上与第一个相同的位置。我会找到解决办法的。无论如何谢谢你