将多个段落插入一个内容控件Office-js

Inserting various paragraphs into one content control Office-js

我正在做一个 Office-js 项目,目前我正在将 Html 插入到 word 文档中。 Html 可能包含各种段落和图像,也可能仅包含文本。目前我知道您可以将段落或图像插入到内容控件中,但是我想知道是否可以将整个选择插入到内容控件中。我知道我可以做这样的事情

 var contentControl = paragraphs.items[0].insertContentControl();

但是我想知道是否可以将整个 html 插入到内容控件中而不将其分成段落。有点像将 Html 作为一个对象插入到一个内容控件中。

更新当前代码

function tagInsertedContent(contentObject) {
Word.run(function (context) {
    var contentTitle = contentObject.Name;
    var modDate = contentObject.LastModifiedTime;
    var paragraphs = context.document.body.paragraphs;
    context.load(paragraphs, 'text');
    return context.sync().then(function () {
        var paragraph;
        var contententControls;
        for (var x = 0; x < paragraphs.items.length; x++) {
            paragraph = paragraphs.items[x]
            if (paragraph.text) {
                contententControls = paragraph.insertContentControl();
                contententControls.title = contentTitle;
                contententControls.tag = modDate;
                contententControls.color ="#ff0000";
            }
        }
    })
    .then(context.sync())
    .catch(function (error) {
        error.ErrorLocation = "Items Not Tagged";
        error.ErrorCode = error.debugInfo.errorLocation;
        error.ErrorMessage = "Content was not tagged correctly";
        error.Selection = contentObject.Name;
        ErrorHandler(error);
    })
});

}

您是否尝试插入内容控件,然后再插入 HTML?您还可以将 HTML 插入内容控件!

例如你可以这样做:

   function insertHTMLinToContentControl() {

        var myHtml = "<b> Whatever HTML you want to insert </b>";

        Word.run(function (ctx) {
            
            var myContentControl = ctx.document.getSelection().insertContentControl();
            myContentControl.insertHtml(myHtml, "replace");
            return ctx.sync();
        });

                  
    }

上面的代码在当前选择中插入一个内容控件,然后插入一个(在这个例子中很简单:))html.

希望这对您有所帮助,祝您编码愉快!! 娟.