将超链接插入范围的一部分(在单词中)
Inserting hyperlink to PART of a range (in word)
我正在开发一个 word 加载项,我想插入一个超链接到部分范围(该范围是用户选择的文本)。
我知道 range.hyperlink 方法,但我不知道如何分割范围,并且只超链接它的特定部分。
例如范围 "I have a small boat" - 用户选择整个字符串,但超链接应该只添加到单词 "small".
这可能吗?
谢谢!
抱歉重播晚了,但这里是答案。你有几个选择。一般来说,考虑这个问题的方法是,我怎样才能得到正确的范围?这样我就可以设置超链接(或执行 API 的几乎任何操作,例如插入或格式化内容!)。您的选择是。
- 搜索。在选择范围内,您可以搜索 "small",您将获得符合您条件的范围集合。下面是如何执行此操作的示例。
Word.run(function (context) {
var searchResults = context.document.getSelection().search("small");
context.load(searchResults);
return context.sync()
.then(function () {
for (var i = 0; i < searchResults.items.length; i++) {
searchResults.items[i].hyperlink = "http://dev.office.com";
}
return context.sync()
})
})
.catch(function (e) {
console.log(e.message)
})
- 拆分 选择。您可以使用 split 方法逐字获取您的选择。这是有关如何执行此操作的代码示例:
Word.run(function (context) {
var myWords = context.document.getSelection().split([" "],false, true);
context.load(myWords);
return context.sync()
.then(function () {
for (var i = 0; i < myWords.items.length; i++) {
if(myWords.items[i].text === "small")
myWords.items[i].hyperlink = "http://dev.office.com";
}
return context.sync()
})
})
.catch(function (e) {
console.log(e.message)
})
希望您觉得这个编码有用且快乐!!
胡安.
我正在开发一个 word 加载项,我想插入一个超链接到部分范围(该范围是用户选择的文本)。
我知道 range.hyperlink 方法,但我不知道如何分割范围,并且只超链接它的特定部分。
例如范围 "I have a small boat" - 用户选择整个字符串,但超链接应该只添加到单词 "small".
这可能吗?
谢谢!
抱歉重播晚了,但这里是答案。你有几个选择。一般来说,考虑这个问题的方法是,我怎样才能得到正确的范围?这样我就可以设置超链接(或执行 API 的几乎任何操作,例如插入或格式化内容!)。您的选择是。
- 搜索。在选择范围内,您可以搜索 "small",您将获得符合您条件的范围集合。下面是如何执行此操作的示例。
Word.run(function (context) {
var searchResults = context.document.getSelection().search("small");
context.load(searchResults);
return context.sync()
.then(function () {
for (var i = 0; i < searchResults.items.length; i++) {
searchResults.items[i].hyperlink = "http://dev.office.com";
}
return context.sync()
})
})
.catch(function (e) {
console.log(e.message)
})
- 拆分 选择。您可以使用 split 方法逐字获取您的选择。这是有关如何执行此操作的代码示例:
Word.run(function (context) {
var myWords = context.document.getSelection().split([" "],false, true);
context.load(myWords);
return context.sync()
.then(function () {
for (var i = 0; i < myWords.items.length; i++) {
if(myWords.items[i].text === "small")
myWords.items[i].hyperlink = "http://dev.office.com";
}
return context.sync()
})
})
.catch(function (e) {
console.log(e.message)
})
希望您觉得这个编码有用且快乐!!
胡安.