lotusscript - LotusScript - AppendDocLink 不在 RichTextItem 中创建 doclink
问题描述
在新数据库中,我无法在 RichTextItem 中创建 DocLink。我试过使用 ritem.Update 并且数据库有一个默认视图。到目前为止,这些是我能够找到的唯一修复,但都没有奏效。
在多次失败后,我在一个操作按钮中创建了一些测试代码:
Sub Click(Source As Button)
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim newdoc As NotesDocument
Dim rtitem As NotesRichTextItem
Set db = s.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set newdoc = New NotesDocument(db)
Call newdoc.Save(True, False)
Set rtitem = New NotesRichTextItem(doc, "CommentAndRecord")
Call rtitem.AppendDocLink(newdoc, "Test document")
Call rtitem.Update
Call uidoc.Refresh
End Sub
此代码运行没有错误并创建一个 RichTextItem,但没有将 DocLink 添加到 RichTextItem。我尝试用 AppendText 替换 AppendDocLink 并遇到同样的问题。项目已创建,但无法分配任何值。
解决方案
NotesUIDocucment.Refresh方法有一个可选的布尔参数,默认为 false。将其设置为 true 会使用您对后端 NotesRichTextItems 所做的更改来更新前端富文本字段。
所以试试
Call uidoc.Refresh(true)
编辑: 哦,等等……刷新调用是另一种方式 - 从前端可编辑 RT 字段更新后端 RT 项。为了使 RT 项目的后端更改反映在前端以便您可以看到它们,您必须关闭并重新打开文档。
推荐阅读
- node.js - 与 Adonis V5 的 Jest 集成
- r - 当 x 轴的格式为“%Y-%m-%d %H:%M:%S”时,如何使用 annotate() 在我的 ggplot2 中添加字母?
- ruby - 如何在终端中运行 Ruby 脚本?
- python - DynamoDB Python API:检查条件表达式结果的方法?
- java - 将2个毫秒的字符串转换为日期并计算时间差java
- java - 如何使用 LiveData 和 ViewModel 发布改造 API 调用请求方法
- excel - 如何根据我想要影响的行中的空白/非空白标准隐藏/取消隐藏行?
- html - 如何换行标题(比如
- java - java中实现OOP的方程第一度
- java - import org.neo4j 无法解决?