range.expandTo在javascript这个词中应该怎么用api
How should range.expandTo be used in the word javascript api
我为运行搜索的 word 创建了一个任务窗格插件,并将 select 两个搜索结果之间的文本。
直到几天前,以下代码 运行 成功:
function onExpandTestClick() {
var textToFind = "Word",
range;
return Word.run(function(context) {
var searchResults = context.document.body.search(textToFind, { matchWildCards: false });
context.load(searchResults, "text");
return context.sync()
.then(function() {
range = searchResults.items[0].getRange("End");
var rangeEnd = searchResults.items[1].getRange("Start");
range.expandTo(rangeEnd);
context.load(range, 'text');
return context.sync();
})
.then(function() {
range.select();
return context.sync();
});
})
.catch(function (error) {
console.log('Error: ' + JSON.stringify(error));
}
});
}
但是现在抛出以下错误:
Error: {"name":"OfficeExtension.Error","code":"InvalidArgument","message":"InvalidArgument","traceMessages":[],"debugInfo":{"errorLocation":""},"stack":"InvalidArgument: InvalidArgument\n at Anonymous function (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:183512)\n at pi (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:198624)\n at ht (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:198711)\n at g (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:198531)\n at l (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:197117)"}
我正在使用此处推荐的 PreviewCDN https://github.com/OfficeDev/office-js-docs/tree/WordJs_1.3_Openspec
我是 运行 office 版本 16.0.7167.2040
这是range.expandTo
方法的正确使用方法吗?或者 api?
有什么变化吗?
虽然设计上会有细微的变化,但您使用的方法是正确的。 ExpandTo 的语义(如您在最新文档中所见)是它不修改调用范围,而是 returns 新扩展的范围。
此更改需要更新 Office.js 库,目前 Beta CDN 似乎存在问题,我们正在努力更新它以使其与当前公开可用的版本相匹配.
所以此时我的建议是等待此修复。
谢谢!
我为运行搜索的 word 创建了一个任务窗格插件,并将 select 两个搜索结果之间的文本。 直到几天前,以下代码 运行 成功:
function onExpandTestClick() {
var textToFind = "Word",
range;
return Word.run(function(context) {
var searchResults = context.document.body.search(textToFind, { matchWildCards: false });
context.load(searchResults, "text");
return context.sync()
.then(function() {
range = searchResults.items[0].getRange("End");
var rangeEnd = searchResults.items[1].getRange("Start");
range.expandTo(rangeEnd);
context.load(range, 'text');
return context.sync();
})
.then(function() {
range.select();
return context.sync();
});
})
.catch(function (error) {
console.log('Error: ' + JSON.stringify(error));
}
});
}
但是现在抛出以下错误:
Error: {"name":"OfficeExtension.Error","code":"InvalidArgument","message":"InvalidArgument","traceMessages":[],"debugInfo":{"errorLocation":""},"stack":"InvalidArgument: InvalidArgument\n at Anonymous function (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:183512)\n at pi (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:198624)\n at ht (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:198711)\n at g (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:198531)\n at l (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:19:197117)"}
我正在使用此处推荐的 PreviewCDN https://github.com/OfficeDev/office-js-docs/tree/WordJs_1.3_Openspec 我是 运行 office 版本 16.0.7167.2040
这是range.expandTo
方法的正确使用方法吗?或者 api?
虽然设计上会有细微的变化,但您使用的方法是正确的。 ExpandTo 的语义(如您在最新文档中所见)是它不修改调用范围,而是 returns 新扩展的范围。
此更改需要更新 Office.js 库,目前 Beta CDN 似乎存在问题,我们正在努力更新它以使其与当前公开可用的版本相匹配.
所以此时我的建议是等待此修复。
谢谢!