0
我已經開發了一個外接使用Office API(JavaScript)的Office 365的API搜索的詞替換在線(錯?)
它工作正常字桌面客戶端(2016)上但使用Word 365在線版本我使用的「搜索和替換」代碼推動了被替換的字符串,有時候是左鍵,有時是右鍵,有時是精確的。 這很可能是Word在線的錯誤,但要確保我在此詢問是否有人知道爲什麼會發生這種情況。
它似乎是由Word使用替換之間的字符計數,然後替換不管。
下面是一個簡單的例子,將搜索字符串(使用£如我不能以有意義的方式張貼符號不是替換大於和小於!)
£client name£!
在這種情況下我替換使用「超級客戶端」,您可以看到替換未命中。 (這只是一段文字,在一些地方打細)
我們理解£cSuper客戶這個項目近期和長期目標,我們已經構建這個我們計劃到您最初的要求做出反應,在未來幾年與£cliSuper Client合作。
我運行,以取代(在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 }
btw獨立認識到這是一個錯誤(檢查我的答案)你想知道你的情況。我假設你更願意使用內容控件來替換模板中的客戶,對吧? –
抱歉反應遲緩 - 我已經忙了幾天!我嘗試了內容控件變體,但更喜歡簡單的字符串替換方法。內容控件在我們的使用場景中看起來有點矯枉過正。我們最多可以有1280個(當前)客戶端名稱替換,所以內容控件有點太多了。我們也有一些擔心,我們的標準團隊運行腳本來清除隱藏的數據,這可能會導致問題!我仍在研究內容控制的用例,所以我可能會回到它們的某些用法。 –