Ms office contentControl中insertHtml上的额外行

Ms office contentControl中insertHtml上的额外行,ms-office,office-js,word-addins,Ms Office,Office Js,Word Addins,在Word 2016的office API中,我使用contentControl的insertHtml函数插入html格式的文本。文本作为块元素插入,并在末尾添加一条额外的线。API for Word 2013中的类似功能,setDataAsync与强制类型“html”正确工作,并插入了一个内联元素。有没有办法指定我需要一个内联元素 基本上,当我尝试插入(使用insertHtml插入的文本)时,我需要的是: 这是现有文本(用插入TML的插入的文本),后跟 更多文本 我得到的是: 这是现有文本 (

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

基本上,当我尝试插入
(使用insertHtml插入的文本)
时,我需要的是:

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

我得到的是:

这是现有文本

(用插入TML的插入的文本

<空行>

然后是更多的文本


谢谢。

这是Word JavaScript API上的一个已知问题,我们正在对此进行修复。同时,请使用setSelectedDataAsync和强制类型HTML来实现您所需要的。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' });
}
函数insertHtmlSample(){
运行(函数(上下文){
var mySelection=context.document.getSelection();
mySelection.insertHtml(“用insertHtml插入的文本”,“之前”);
返回context.sync();
}).catch(函数(错误){
app.showNotification(错误消息);
})
}
函数InsertHtmlOld(){
Office.context.document.setSelectedDataAsync(“文本插入with

insertHtml

Hello!!!”,{强制类型:'Html'}); }
谢谢,这很好用。详细说明一下,因为我要插入contentControl,所以我必须先调用contentControl.select()。是的,另一种方法是创建一个到该内容控件的绑定(我假设您正在创建cc,对吗?),您可以使用该方法进行此操作(请确保在创建内容控件时提供标题,该标题用于标识内容控件。然后可以使用binding.setData方法在CC上写入。