0

在 Word 2016 的 Office API 中,我使用 contentControl 的 insertHtml 函数插入 html 格式的文本。文本作为块元素插入,并在末尾添加了额外的行。Word 2013 API 中的类似功能,带有 coercionType“html”的 setDataAsync 工作正常并插入了一个内联元素。有没有办法指定我需要一个内联元素。

基本上我尝试插入时需要的(text <i>inserted</i> with <b>insertHtml</b>)是:

这是现有文本(使用insertHtml插入的文本),后跟更多文本

我得到的是:

这是现有的文本

(用insertHtml插入的文本)

<空白行>

后面是更多文字

谢谢你。

4

1 回答 1

0

这是 Word JavaScript API 上的一个已知问题,我们正在努力修复它。同时,请使用带有 coercionType HTML 的 setSelectedDataAsync 来实现您所需要的。insertHtml 将具有相同的行为。

这是一些代码示例,用于添加问题的一些上下文。基本上打算是获取当前选择并插入一些 HTML。API 中有两种方法可以做到这一点(见下文)。现在 insertHtml 在末尾添加一个段落标记,这是我们很快会修复的错误。

function insertHtmlSample() {
    Word.run(function (context) {
        var mySelection = context.document.getSelection();
        mySelection.insertHtml("text <i>inserted</i> with <b>insertHtml</b>", "before");
        return  context.sync();

    }).catch(function (error) {
        app.showNotification(error.message);
    })
}


function InsertHtmlOld() {
    Office.context.document.setSelectedDataAsync("text <i>inserted</i> <p> with </p> <b>insert  <p>Html</b> </p> Hello!!!  ", { coercionType: 'html' });
}
于 2016-02-09T18:33:30.967 回答