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

时间:2016-08-29 12:52:28

标签: 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);
    })
});

}

1 个答案:

答案 0 :(得分:2)

您是否尝试插入内容控件然后插入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。

希望这有助于编码! 涓。