从2个富文本字段中的1个中获取附件名称

时间:2014-01-10 09:40:36

标签: xpages lotusscript lotus-formula

我有一个包含2个富文本字段的表单。 他们都存储图片。 我有1个文本字段来存储第二个富文本字段的名称。 为此我正在使用:@Subset(@AttachmentNames; 1) 但问题是,通过这种方式,我无法控制附件名所在的富文本字段。 有什么想法吗?

2 个答案:

答案 0 :(得分:3)

不幸的是,没有办法用Formula来做到这一点。在LotusScript中,您可以执行以下操作:

Dim ws as New NotesUIWorkspace
Dim uidoc as NotesUIDocument
Dim doc as NotesDocument
Dim body1 as NotesRichtextItem
Dim body2 as NotesRichtextItem

Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set body1 = doc.GetFirstItem( "NameOfFirstField" )
Set body2 = doc.GetFirstItem( "NameOfFirstField" )

If Not Isempty(body1.EmbeddedObjects) Then    
  Forall o In rtitem.EmbeddedObjects      
    If ( o.Type = EMBED_ATTACHMENT ) Then        
      'Found attachment: add name to list
      'do something with o.Source, this is the name of the attachment
    End If
  End Forall
End If

注意:LotusScript中的附件仅在保存文档后才是最新的......

答案 1 :(得分:1)

你可以使用Lotusscript。 RichTextItem可以包含EmbeddedObject,其属性为Source。对于附件,它包含文件名。

从帮助文件引用:

Dim doc As NotesDocument
Dim rtitem As Variant
Dim object As NotesEmbeddedObject
Dim sourceName As String    
'...set value of doc...
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
  Set object = rtitem.GetEmbeddedObject( "City picture" )
  sourceName = object.Source
End If