Ms office Office JS-删除内容控制问题
我正在尝试删除Word中的内容控件,我正在浏览以下文档: 这是我的代码:Ms office Office JS-删除内容控制问题,ms-office,office-js,Ms Office,Office Js,我正在尝试删除Word中的内容控件,我正在浏览以下文档: 这是我的代码: let mycc = context.document.contentControls.getByTag('mycc'); if (mycc) { context.load(mycc, 'text'); context.sync().then(() => { mycc.items[0].delete(true); context.sync().then(() =>
let mycc = context.document.contentControls.getByTag('mycc');
if (mycc) {
context.load(mycc, 'text');
context.sync().then(() => {
mycc.items[0].delete(true);
context.sync().then(() => { ... })
})
}
不会抛出任何错误,并且最内部的同步中的代码可以工作(插入另一个内容控件)
我做错了什么
编辑:找到问题。内容控件确实被删除了,但我也想删除内容。我不应该将
true
传递给delete
,而应该传递false
,我无法重现您描述的问题。考虑到您发布的代码不包含任何错误处理逻辑,我怀疑可能有错误正在悄无声息地抛出,但您没有检测到它
以下代码段成功删除了第一个具有标记mycc的内容控件,并包含一个catch
语句,该语句处理Word.run中可能出现的任何错误
Word.run(function (context) {
var myContentControls = context.document.contentControls.getByTag("mycc");
if (myContentControls) {
context.load(myContentControls, "text");
return context.sync()
.then(function () {
myContentControls.items[0].delete(true);
return context.sync()
.then(function () {
console.log("Done!");
});
});
}
}).catch(OfficeHelpers.Utilities.log);
我无法重现你所描述的问题。考虑到您发布的代码不包含任何错误处理逻辑,我怀疑可能有错误正在悄无声息地抛出,但您没有检测到它
以下代码段成功删除了第一个具有标记mycc的内容控件,并包含一个catch
语句,该语句处理Word.run中可能出现的任何错误
Word.run(function (context) {
var myContentControls = context.document.contentControls.getByTag("mycc");
if (myContentControls) {
context.load(myContentControls, "text");
return context.sync()
.then(function () {
myContentControls.items[0].delete(true);
return context.sync()
.then(function () {
console.log("Done!");
});
});
}
}).catch(OfficeHelpers.Utilities.log);
我确实有catch
语句(从上面的代码片段中省略),但没有抛出错误。最内部context.sync()中的代码运行正常,如..
所示。实际上,请将其删除。刚刚发现问题,请参阅我的编辑上面。我对你的答案投了赞成票,因为这是一个完整的工作示例(以及Word.run等);很高兴听到你找到了答案。我确实有catch
语句(从上面的代码片段中省略),但没有抛出错误。最内部context.sync()中的代码运行正常,如..
所示。实际上,请将其删除。刚刚发现问题,请参阅我的编辑上面。我对你的答案投了赞成票,因为这是一个完整的工作示例(以及Word.run等);很高兴听到你明白了。