Office.js API-在Word文件中添加嵌套内容控件 [英] Office.js API - Add nested content control in word file

查看:31
本文介绍了Office.js API-在Word文件中添加嵌套内容控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为Office Word开发一个插件,我想添加允许用户以嵌套内容控件的形式按层次顺序添加内容的功能。

        let wordContentControl:any;
        Word.run(async context => {
           
            const range = context.document.getSelection();
            range.clear();
            wordContentControl = range.insertContentControl();
            wordContentControl.tag = "NameTest";
            wordContentControl.insertText("Sample", 'End');
            wordContentControl.cannotEdit = false;
            wordContentControl.appearance = 'BoundingBox';

            wordContentControl.font.color = 'red';
            await context.sync()


        }).catch((error) => {
            console.log(error);
        });
        Word.run(async context => {
            var contentControlsWithTag = context.document.contentControls.getByTag('NameTest');
            // Queue a command to load the tag property for all of content controls.
            context.load(contentControlsWithTag, 'tag');

            // Synchronize the document state by executing the queued commands,
            // and return a promise to indicate task completion.
            return context.sync().then(function () {
                if (contentControlsWithTag.items.length === 0) {
                    console.log('No content control found.');
                }
                else {
                    return context.sync()
                        .then(function () {
                           
                            context.sync();
                            var ccs = context.document.contentControls;
                            
                            ccs.load("NameTest");
                            
                            console.log("Nr cc: " + ccs.items.length);
                            let cc = ccs.items[0];

                        });
                }
            });
        });

这就是我到目前为止所做的。但我找不到一种方法来在/嵌套的内容控件中添加内容控件。 你的帮助对我很有帮助。

推荐答案

我测试过,在Content控件内部调用insertContentControl应该可以工作:

var contentControl = context.document.getSelection().insertText('outer
', Word.InsertLocation.start).insertContentControl();
contentControl.insertText('inner', Word.InsertLocation.end).insertContentControl();

请查看这是否适用于您。

这篇关于Office.js API-在Word文件中添加嵌套内容控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆