如何查找通过ooxml

时间:2018-05-10 22:58:22

标签: office-js word-addins

在单词加载项上,在通过ooxml插入内容后<:p>

Word.run((context) => {
    context.document.body.insertOoxml("<pkg:package xmlns:pkg='http://schemas.microsoft.com/office/2006/xmlPackage'><pkg:part pkg:name='/_rels/.rels' pkg:contentType='application/vnd.openxmlformats-package.relationships+xml' pkg:padding='512'><pkg:xmlData><Relationships xmlns='http://schemas.openxmlformats.org/package/2006/relationships'><Relationship Id='rId1' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument' Target='word/document.xml'/></Relationships></pkg:xmlData></pkg:part><pkg:part pkg:name='/word/document.xml' pkg:contentType='application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml'><pkg:xmlData><w:document xmlns:w='http://schemas.openxmlformats.org/wordprocessingml/2006/main' ><w:body><w:p><w:sdt><w:sdtPr><w:tag w:val=\"469\"/><w:text /><w:alias w:val=\"mytag\" /></w:sdtPr><w:sdtContent><w:r><w:t>[_MyText]</w:t></w:r></w:sdtContent></w:sdt></w:p></w:body></w:document></pkg:xmlData></pkg:part></pkg:package>", Word.InsertLocation.start);
    return context.sync().then(() => {});
});

我试图在页面上找到它以用文本替换它。

尝试:

Word.run((context) => {
    let cc = context.document.contentControls.getByTitle("mytag");
    console.log(cc);
    cc.load('items');
    return context.sync().then(() => {
        console.log(cc.items);
    });
});

console.log的结果:Array(0)

也尝试过:

Word.run((context) => {
    let cc = context.document.contentControls.getByTag("469");
    console.log(cc);
    cc.load('items');
    return context.sync().then(() => {
        console.log(cc.items);
    });
});

console.log的结果:Array(0)

Word.run((context) => {
    let options = Word.SearchOptions.newObject(context);
    options.matchWildCards = false;
    options.ignorePunct = true;
    options.ignoreSpace = true;
    options.matchPrefix = true;
    options.matchSuffix = true;
    options.matchWildCards = true;
    let rangesFind = context.document.body.search('[_MyText]', options);
    context.load(rangesFind);
    return context.sync().then(() => {
        console.log(rangesFind.items);
        rangesFind.items.forEach((item) => {
            console.log(item.text);
            item.insertText('REPLACED', Word.InsertLocation.replace);
        });
    });
});

console.log(rangesFind)的结果:Array(5) 每个console.log(item.text)的结果: _(x2) e(x2) _

找到此内容替换其他内容(文字或不同的ooxml)的更好方法是什么?

0 个答案:

没有答案