Ms word 使用Office的JavaScript API在word中添加链接

Ms word 使用Office的JavaScript API在word中添加链接,ms-word,ms-office,add-in,office-js,Ms Word,Ms Office,Add In,Office Js,我正在开发一个Word加载项,用户可以在其中选择一个单词。然后,该单词被发送到一个服务,该服务返回一个名称与所选单词相似的法律列表。然后,用户可以从列表中选择一条法律,所选单词将获得特定法律的链接 现在,我正在使用Office的JavaScript API中的方法 range.insertHtml("<a href='linkToLaw'>selectedWord</a>", Word.InsertLocation.replace); range.insertHtml(

我正在开发一个Word加载项,用户可以在其中选择一个单词。然后,该单词被发送到一个服务,该服务返回一个名称与所选单词相似的法律列表。然后,用户可以从列表中选择一条法律,所选单词将获得特定法律的链接

现在,我正在使用Office的JavaScript API中的方法

range.insertHtml("<a href='linkToLaw'>selectedWord</a>", Word.InsertLocation.replace);
range.insertHtml(“,Word.InsertLocation.replace”);
但是当我这样做的时候,链接词后面的一行就断了,下面的文本就在下面的一行。

我一直在尝试使用insertOoxml方法,但没有任何运气


因此,我的问题是:有没有一种简单的方法可以在不改变周围文本格式的情况下在所选文本上放置链接?

我认为您的主要问题是,您观察到在
insertHtml
调用后插入的换行符。这是我们在安装的最新版本Office中修复的错误

作为替代方案,我们正在为word的1.3要求集的范围添加超链接功能。1.3正在预览中,但您可以尝试。获取一个范围,然后使用以下内容设置超链接:

range.hyperlink="http://your.hyperlink.here"

如果你的范围是文本和超链接的组合呢?在我们的具体案例中,我们的范围是一个注释文本,看起来像
Lorem dolor…
2注释:在最新版本中再次尝试您的原始代码,它会工作。如果要在特定的示例中使用range.insertText(),则每次返回一个范围时都要编写3次,因此第二次可以执行类似range.insertText(“需要的任何文本”,“结束”).hyperlink=“任何超链接”的操作