我正在开发一个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);
})
});
}
答案 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。
希望这有助于编码! 涓。