【发布时间】:2018-03-03 12:44:17
【问题描述】:
我正在尝试替换 Word Online 文档中的某些文本,但无法正常工作。
'{{test}} , [[test]] , {test}' 结果为 '13 , 2 , 3' 而不是 '1 , 2 , 3'。
第一个文本似乎被处理了两次。
非常感谢任何帮助!
Office.initialize = function(reason) {
function ready() {
var myTags = [
{ "value": "1", "text": "{{test}}" },
{ "value": "2", "text": "[[test]]" },
{ "value": "3", "text": "{test}" }
];
async function FillTag(tag) {
await Word.run(async function(context) {
var options = Word.SearchOptions.newObject(context);
options.matchWildCards = false;
var searchResults = context.document.body.search(tag.text, options);
context.load(searchResults, 'text');
await context.sync();
searchResults.items.forEach(function(item) {
item.insertText(tag.value, Word.InsertLocation.replace);
});
await context.sync();
})
.catch(function(error) {
console.log('Error: ' + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
console.log('Debug info: ' + JSON.stringify(error.debugInfo));
}
});
}
async function ProcessArray(myTags) {
myTags.forEach(async function(tag) {
await FillTag(tag);
});
}
ProcessArray(myTags);
}
if (document.readyState !== 'loading') {
ready();
}
else {
document.addEventListener('DOMContentLoaded', ready);
}
};
【问题讨论】:
-
请提供您正在搜索的文档内容的一个小示例。
-
嗨 Rick,只需将这句话 {{test}} , [[test]] , {test} 粘贴到空白文档中。我希望我能正确理解你。在我的示例中,我正在搜索的标签存储在 myTags 对象中。
-
@DutchDan -- 我已经重现了您的问题,现在正在排除故障。希望很快会为您提供更多信息。
-
嗨,Kim,非常感谢您的收看。我一直在尝试在正文中搜索标签,然后选择并删除它。如果你这样做了,那么文本就消失了,但仍然可以在背景中看到选择。我的感觉是留下了一些东西。
-
@DutchDan -- 好像我想通了...请在下面查看我的答案。
标签: office-js