gpt4 book ai didi

javascript - Office.js 如何插入 2 个内容控件,一个在选择开始处,一个在选择结束处

转载 作者:行者123 更新时间:2023-12-03 01:15:25 26 4
gpt4 key购买 nike

在 Word 2016 中,当用户选择某些文本时,他们可以选择在选择的开始和结束处放置开始和结束内容控件。有什么好的方法可以做到这一点吗?每当我尝试插入内容控件时,它都会替换所选文本。

这就是我所拥有的:

const ContentControlRange = context.document.getSelection();
const myContentControl = ContentControlRange.insertContentControl();

//set content control properties here

return context.sync().then(function () {
console.log("creating cc context.sync()");

//do other stuff
});

如果我调用此函数两次,最后一个内容控件将替换第一个内容控件。任何帮助表示感谢。

我尝试过:

const ContentControlRange = context.document.getSelection().getRange('After');

但我不断收到“无效参数”错误。

最佳答案

以下脚本实验室代码片段适合我。它使用三个范围,尽管理论上两个就足够了。无论如何,需要保留原始 Range (选择范围),以便可以首先获取选择之前的位置,然后获取选择之后的位置。

此代码使用“Start”“End”作为位置参数。如果未使用这些内容,内容控件将替换所选内容,就像您选择文本然后键入一样。

async function
insertTwoCC() {
await Word.run(async(context) => {

let currSel = context.document.getSelection();
let rngBefore = currSel.getRange("Start");
let rngAfter = currSel.getRange("End");
let ccBefore = rngBefore.insertContentControl();
let ccAfter = rngAfter.insertContentControl();
await context.sync();
})
}

关于javascript - Office.js 如何插入 2 个内容控件,一个在选择开始处,一个在选择结束处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52039849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com