我有内容控件的问题。身体本身有5个CC,身体内有一个桌子内有3个CC。
此示例代码只是直接在文档正文中返回5个CC。我已经确保所有CC都是富文本内容控件的类型。
Word.run(function (context) {
const { document, document { body } } = context.document;
context.load(document, 'contentControls');
//Or context.load(body, 'contentControls');
return context.sync().then(function () {
const { contentControls } = document;
//Or const { contentControls } = body;
console.warn("len", contentControls.items.length);
});
}).catch(function (e) {
console.error(e);
});
我无法重现您描述的问题。首先,我完成了以下设置步骤:
以下是该文档中的内容:
手动创建文档并按上述方法添加内容后,我运行了此代码段。
Word.run(function (context) {
var myContentControls = context.document.contentControls;
myContentControls.load("tag");
return context.sync()
.then(function () {
for (var i = 0; i < myContentControls.items.length; i++)
{
myContentControls.items[i].color = "blue";
myContentControls.items[i].title = "myCC";
myContentControls.items[i].appearance = "tags";
}
return context.sync();
});
}).catch(OfficeHelpers.Utilities.log);
此代码段获取文档包含的内容控件,然后为每个控件设置标记属性。从下面的屏幕截图(在代码片段运行后显示文档)中可以看到,所有3个内容控件都已成功识别,包括表格内的控件。