Office js document.contentControls不会返回所有的富文本内容控件

Office js document.contentControls不会返回所有的富文本内容控件,office-js,Office Js,我对内容控件有问题。身体内有5个CCs,身体内的一张桌子内有3个CCs 此示例代码仅在文档体中直接返回5个CCs。我已经确保所有CCs都是富文本内容控制类型 Word.run(function (context) { const { document, document { body } } = context.document; context.load(document, 'contentControls'); //Or context.load(body, 'co

我对内容控件有问题。身体内有5个CCs,身体内的一张桌子内有3个CCs

此示例代码仅在文档体中直接返回5个CCs。我已经确保所有CCs都是富文本内容控制类型

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);
});

我无法再现你所描述的问题。首先,我完成了以下设置步骤:

  • 在新文档中,添加几行文本和一个表格
  • 向文档中添加3个内容控件:
    • 将一个内容控件添加到文本的第一行
    • 将一个内容控件添加到文本的第三行
    • 在表内添加一个内容控件(到表第2行第1列的文本中)
  • 以下是文档中该内容的外观:

    在如上所述手动创建文档并添加内容之后,我运行了这个代码段

    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);
    
    Word.run(函数(上下文){
    var myContentControls=context.document.contentControls;
    myContentControls.load(“标签”);
    返回context.sync()
    .然后(函数(){
    对于(var i=0;i
    此代码段获取文档包含的内容控件,然后为每个控件设置标记属性。从下面的屏幕截图(显示代码段运行后的文档)可以看到,所有3个内容控件都已成功标识,包括表中的一个


    我无法重现您描述的问题。首先,我完成了以下设置步骤:

  • 在新文档中,添加几行文本和一个表格
  • 向文档中添加3个内容控件:
    • 将一个内容控件添加到文本的第一行
    • 将一个内容控件添加到文本的第三行
    • 在表内添加一个内容控件(到表第2行第1列的文本中)
  • 以下是文档中该内容的外观:

    在如上所述手动创建文档并添加内容之后,我运行了这个代码段

    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);
    
    Word.run(函数(上下文){
    var myContentControls=context.document.contentControls;
    myContentControls.load(“标签”);
    返回context.sync()
    .然后(函数(){
    对于(var i=0;i
    此代码段获取文档包含的内容控件,然后为每个控件设置标记属性。从下面的屏幕截图(显示代码段运行后的文档)可以看到,所有3个内容控件都已成功标识,包括表中的一个


    你说得对,伙计。我不知道为什么以前这对我不起作用:你是对的。我不知道为什么以前这对我不起作用:D