我使用Office api(JavaScript)
开发了一个加载项它适用于 Word桌面客户端(2016) ,但使用 Word 365在线版本的“搜索和替换”代码我使用轻推被替换的弦有时会离开,有时是正确的,有时是精确的 这很可能是Word在线的一个错误,但为了确保我在这里问你是否有人知道为什么会这样。
这似乎是由Word在替换之间使用字符计数引起的,然后无论如何替换。
这是一个简短的例子,搜索到的字符串是(大于和小于使用£替换,因为我无法以有意义的方式发布符号!)
£client name£!
在这种情况下,我使用“超级客户端”进行替换,您可以看到替换未命中。 (这只是文本的一部分,在某些地方它很好)
我们了解超级客户此项目的近期和长期目标,并且我们已经制定了计划,与£cliSuper客户未来几年。
我要替换的代码(在api中)是:
Word.run(function (ctx) {
var results = ctx.document.body.search("£client name£!");
ctx.load(results);
return ctx.sync()
.then(function () {
var replaceCount = results.items.length;
if (!replaceCount || replaceCount === 0) {
return;
}
for (var i = 0; i < replaceCount; i++) {
results.items[i].insertText(userClientName, Word.InsertLocation.replace);
results.items[i].font.color = "#005882";
} return ctx.sync()
.then (function () {// do something }
答案 0 :(得分:1)
感谢您报告此Jerry,这实际上是一个错误(已知问题)及其在修复过程中。修复程序生效时会更新此问题。谢谢!