如何使用LotusScript将Web URL添加到文档中

Fun*_*ing 3 lotus-notes lotusscript hyperlink lotus-domino

我有一个代理,它获取模板文档的副本并从文本文件中输入值.

我在以编程方式向字段添加超链接时遇到问题,如果我只是添加文本(例如http://www.google.com),则没有超链接只是纯文本.如果我手动添加文本,通过编辑文档只需添加地址工作正常,可点击.

我已经尝试创建一个富文本对象,然后将其添加到字段,但这也不起作用:(

Set rtItem = New NotesRichTextItem( doc, "link" )
Call rtitem.AddNewLine( 1 )
Call rtItem.AppendText ("http://www.google.com")
doc.AppendItemValue "Details", rtItem
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我正在寻找一种方法,使用lotusscript将可点击的超链接附加到字段.任何帮助将不胜感激.

编辑:进一步检查,如果我生成一个文本字段中带有链接的文档并保存(使用doc.save编程),它将保存为纯文本,然后我进入本文档并执行手动保存纯文本变成一个链接就好了.我如何储蓄可能有问题吗?

If  (Not doc.save(True,False,True)) Then
    Msgbox("Document could not save")
End If
Run Code Online (Sandbox Code Playgroud)

Knu*_*ann 5

它只使用"AppendText"以您在代码中尝试的方式工作.但是,仅当文档处于读取模式且客户端属性"使Internet URL ...进入热点"时,链接才有效.

在此输入图像描述

更新:

AppendItemValue 不适用于RichTextItems.

将链接直接附加到您的字段"详细信息",或者如果它不存在则创建它.您的代码应如下所示:

Dim rtItem As NotesRichTextItem
If doc.Hasitem("Details") Then 
    Set rtitem = doc.Getfirstitem("Details")
Else 
    Set rtitem = doc.Createrichtextitem("Details")
End if
Call rtitem.AddNewLine( 1 )
Call rtItem.AppendText ("http://www.google.com")
Run Code Online (Sandbox Code Playgroud)

  • 克努特是对的.AppendItem值将"详细信息"字段视为纯文本项而不是富文本项.编辑和保存文档时,它将被转换回富文本项.您可以通过在doc.Save之前调用doc.ComputeWithForm来实现这一点,但这实际上是错误的做事方式.你应该做Set rtItem = New NotesRichTextItem(doc,"Details")而不是Set rtItem = New NotesRichTextItem(doc,"link"),然后摆脱对AppendItemValue的调用. (3认同)