Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用matchCase或matchWholeWord搜索跟踪段落中的文本会在officeJs word online中返回错误的范围_Javascript_Ms Word_Office Js_Word Addins - Fatal编程技术网

Javascript 使用matchCase或matchWholeWord搜索跟踪段落中的文本会在officeJs word online中返回错误的范围

Javascript 使用matchCase或matchWholeWord搜索跟踪段落中的文本会在officeJs word online中返回错误的范围,javascript,ms-word,office-js,word-addins,Javascript,Ms Word,Office Js,Word Addins,当使用搜索选项(matchCase/matchWholeWord)对跟踪对象(段落)执行搜索操作时,始终返回第一个实例。这可以通过对返回的范围进行任何字体颜色更改来确认 示例段落: 对于matchCase:“卖方应以本协议附件B(“契约”)的形式通过授予契约将不动产的所有权转让给买方。” 对于matchWholeWord:“本协议项下的所有权利和认股权证证书可在持有账簿上转让,以便进行转让。” 在上述示例中:搜索“契约”时,即使matchCase为true,也始终返回非上限的“契约”范围;搜索“

当使用搜索选项(matchCase/matchWholeWord)对跟踪对象(段落)执行搜索操作时,始终返回第一个实例。这可以通过对返回的范围进行任何字体颜色更改来确认

示例段落: 对于matchCase:“卖方应以本协议附件B(“契约”)的形式通过授予契约将不动产的所有权转让给买方。”

对于matchWholeWord:“本协议项下的所有权利和认股权证证书可在持有账簿上转让,以便进行转让。”

在上述示例中:搜索“契约”时,即使matchCase为true,也始终返回非上限的“契约”范围;搜索“转让”时,即使matchWholeWord为true,也始终返回“可转让”范围

var parRangeCol = [];
        function createTrackedparagraph() {
        Word.run(function (context) {
            var paraList = context.document.body.paragraphs;
            context.load(paraList, "text");
            return context.sync().then(function () {
                var para = paraList.items[0];
                parRangeCol[0] = para;
                context.trackedObjects.add(para);
            });
        });
    }

    function changeFontColor() {
        textToHighlight = "Deed";
        winstance = 0;
        var para = parRangeCol[0];
        var rangeCol = para.search(textToHighlight, { matchCase: true });
        para.context.load(rangeCol, 'font');
        return para.context.sync().then(function () {
            rangeCol.items[winstance].font.color = 'red';
            para.context.sync().then(function () {
            })
        })
    } 

我无法复制这个。当我选择一个段落并将其分配给
para
变量时,您的代码对我来说运行良好。可能只有当
段落
是跟踪对象时才会出现问题。请提供所有代码,包括将
para
作为跟踪对象的位置以及整个
Word.run
。谢谢@RickKirkham,是的,这只发生在跟踪对象上。请查看更新的代码段。我无法复制此代码段。当我选择一个段落并将其分配给
para
变量时,您的代码对我来说运行良好。可能只有当
段落
是跟踪对象时才会出现问题。请提供所有代码,包括将
para
作为跟踪对象的位置以及整个
Word.run
。谢谢@RickKirkham,是的,这只发生在跟踪对象上。请参阅更新的代码段。