Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lotus notes 使用lotusscript在富文本中插入热点_Lotus Notes_Lotusscript - Fatal编程技术网

Lotus notes 使用lotusscript在富文本中插入热点

Lotus notes 使用lotusscript在富文本中插入热点,lotus-notes,lotusscript,Lotus Notes,Lotusscript,我需要做的是创建一个热点链接并将其附加到富文本中。我已经找到了通过以下链接实现此功能的方法: 现在我希望创建的热点位于现有的富文本字段的内部或中间。如果你检查了链接,它会为热点创建一个带有正文的文档,我无法识别使用nav和range将其插入其中,但它只会得到纯文本,我还想得到热点链接。谢谢 下面是一个示例代码(我们在其中附加了富文本,但我想将其插入其中-我找到了一种方法,但使用DXL也会让人困惑),有没有一种简单的方法可以解决这个问题: If rtnav.FindFirstString("&l

我需要做的是创建一个热点链接并将其附加到富文本中。我已经找到了通过以下链接实现此功能的方法:

现在我希望创建的热点位于现有的富文本字段的内部或中间。如果你检查了链接,它会为热点创建一个带有正文的文档,我无法识别使用nav和range将其插入其中,但它只会得到纯文本,我还想得到热点链接。谢谢

下面是一个示例代码(我们在其中附加了富文本,但我想将其插入其中-我找到了一种方法,但使用DXL也会让人困惑),有没有一种简单的方法可以解决这个问题:

If rtnav.FindFirstString("<Reply: From>", RT_FIND_CASEINSENSITIVE) Then

    ' Get the <Reply:From> string
    Call rtrange.SetBegin(rtnav)
    Call rtrange.SetEnd(rtnav)

    ' Remove the <Reply:From> string
    Call rtrange.Remove()

    ' Go to the next text range after the <Reply:From> string
    Call rtrange.SetBegin(rtnav)
    Call rtrange.SetEnd(rtnav)

    ' Insert the hotspot in the right place
    Call rtitem.BeginInsert(rtrange, False)

    ' ** I WANT TO INSERT HERE THE HOTSPOT, BUT I CAN'T FIGURE IT OUT **

    Call rtitem.EndInsert

    Call rtitem.AppendRTItem(dxlbody)

End If
如果rtnav.FindFirstString(“,RT\u FIND\u case不敏感),则
“拿绳子
调用rtrange.SetBegin(rtnav)
调用rtrange.SetEnd(rtnav)
'删除字符串
调用rtrange.Remove()
'转到字符串后的下一个文本范围
调用rtrange.SetBegin(rtnav)
调用rtrange.SetEnd(rtnav)
'将热点插入正确的位置
调用rtitem.BeginInsert(rtrange,False)
“**我想在这里插入热点,但我想不出来**
调用rtitem.EndInsert
调用rtitem.AppendrItem(dxlbody)
如果结束

大约五年前,我研究了一个非常类似的问题,但我找不到解决方案。我决定先把热锅放在中间而不是在中间——也就是说,复制一个包含一个“原型”热点的NoTeExtReXTyTrm从一个现有的配置文档中插入到一个新的NoStReXText项目中,然后复制包含我正在申请的富文本的NoTeExtReXTrimeTo../P>
注意:这无疑可以使用Midas富文本API来实现,但这是Genii软件的一个商业产品,我没有能力使用它。

这是非常古老的,在以后的版本中可能不起作用,但我记得很多年前使用了一种未记录的方法来创建doclinks

定义于

注释RichTextItem

语法

参数

serverHint$

绳子。标准格式或通用格式的服务器名

viewUNID$

绳子。要用于打开文档的notesview的UniversalID。如果未指定documentUNID,请使用空字符串(“”)创建数据库链接,或者使用默认视图打开docLinks

documentUNID$

绳子。要链接到的文档的UniversalID。使用空字符串(“”)创建视图链接或数据库链接

评论$

绳子。当用户在链接上按住鼠标指针时显示的文本

热点文本$

可选。一串如果提供,HotSpotText将在RichTextItem中显示为方框文本,可以用鼠标单击该文本以跟随链接。在这种情况下,文本中不会出现其他标记

摘自:

嗨,我基本上是通过应用或使用DXL来实现我的目标的。我操纵了两个富格文本DXL,因此我能够在富格文本中插入热点链接。虽然它需要很多代码,而且有点混乱,但它确实可以通过这些代码来完成

特别感谢大家对理查德和肯的帮助

我使用了这个来源:

“这在lotusscript中起作用:
rs4.PassThruHTML=True
调用rtitem.AppendStyle(rs4)
rtitem.appendText(| |)
rs4.PassThruHTML=False
调用rtitem.AppendStyle(rs4)

嗨,Richard,我明白你的意思,所以基本上没有办法应用它?实际上,我做了一些事情,获取了富文本中的所有元素,并找到了应该输入的位置。我能够做到,但问题是(文本样式)已经消失,甚至没有适当的空间,所以它看起来不正确。我希望有其他选择,我真的需要应用它。虽然我试过做任何我知道的选择,但我仍然不能应用它。我觉得我非常想解决这个问题。我没有调查使用DXL。我认为,要应用我使用的技术,您仍然需要找到一种方法,将现有的NotesRichTextItem“断开”为两个NotesRichTextItem——断开发生在正确的位置。在我的例子中,我处理的是可以包含任何内容的任意富文本字段,因此根本不可能找到正确的位置,因为我不知道会出现什么。是的,我同意,一旦富文本包含所有类型的元素,这将是一个问题。如果可以应用,我会再次尝试使用DXL,如果你找到了解决方案,请分享。非常感谢你的帮助。嗨,肯,谢谢你分享这个信息。该函数可能是一个旧函数,因为我检查了帮助,它不再包括在内,但它将帮助我在未来,如果有任何时候(我是一个新的LN开发人员)。问题是我没有试图创建一个文档链接,因为我可以在任何地方插入它。我需要在富文本中间附加一个热点按钮,其中包含公式。如果你知道一种方法,请分享。谢谢你,肯!啊,我明白了。第一个想法-你不会在帮助中找到这个。这是一个未记录的特性:)我将用另一个建议更新我的答案。请注意——我的另一个想法与Richard的类似。在过去,我在一个隐藏的配置文件文档上创建了一个富文本项,然后我会访问该项,并在需要的地方将其附加到当前文档中。是的,我得到了这一部分,不过我希望它被添加到中间的富文本中。到目前为止,只能对两个富文本项进行追加。我正在用DXL操作它,虽然它真的很混乱。欢迎使用堆栈溢出!感谢您提供此代码片段,它可能会提供一些有限的短期帮助。通过说明为什么这是一个很好的问题解决方案来正确解释它的长期价值,并将使它更有用
Call notesRichTextItem.AddLinkByIds( dbReplicaID$, serverHint$, viewUNID$, documentUNID$, comment$ [, HotSpotText$ ])
'This works in lotusscript:
rs4.PassThruHTML= True
Call rtitem.AppendStyle(rs4)
rtitem.appendText(|<a href="http://www.teamwork.com.tr">Open</a>|)
rs4.PassThruHTML= False
Call rtitem.AppendStyle(rs4)