我有一个lotusscript开发问题。嗯,这是我的场景:
- 我设计了一个名为form的表单
- 创建一个新文档,格式为form
- 表单" form "包含一个名为"ListPod"的RichText字段
- 当在编辑模式下打开文档时,我想直接在"ListProd"字段中自动附加一个文件(C:Filesfile.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。类型"抛出错误,因为"rtItem"为NULL。我怎么才能访问这个字段呢?
提前感谢
使用QueryOpen
事件并尝试使用NotesRichTextItem
构造函数重新创建您的项目:
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim bIsNewDoc As Boolean
Set doc = Source.Document
bIsNewDoc = True
If Not Isnewdoc And Not doc Is Nothing Then
bIsNewDoc = doc.IsNewNote
End If
If Not bIsNewDoc And Mode% = 1 Then
'Your code
Call doc.RemoveItem("ListProd")
Set rtitem = New NotesRichTextItem(doc, "ListProd")
Call rtitem.EmbedObject(EMBED_ATTACHMENT, "", fileName$)
'Your code
End If
End Sub
我找到了一个解决方案
验证附件的富文本字段,而不保存UI文档
使用:uidoc。refresh True,我可以将所有前端修改的信息传输到后端。所以,我可以访问我的'ListProd'字段没有保存:)
希望它能帮到你:)