在Office 365联机中将光标插入到右侧位置的内容控件的问题

时间:2018-02-12 05:51:42

标签: ms-word office-js

我试图在Office 365在线插入内容控件后,将光标放在正确的位置,但是它显示了以下错误消息:

  

抱歉,您的更改未保存。要继续编辑此文档,请复制更改并刷新页面。

如果我尝试在2-3页的不同文档中快速插入4-5内容控件,我会丢失文档中的更改。这是一个间歇性的问题。

Word.run((context) => {
    var thisDocument = context.document;
    var range = thisDocument.getSelection();
    context.load(range, 'id');
    range.select(Word.SelectionMode.end);
    range = thisDocument.getSelection();
    var instertedControl = range.insertContentControl();
    var insertedText = instertedControl.insertText("controlText", Word.InsertLocation.replace)
    insertedText.font.color = this.ContentControlFontColor;
    instertedControl.title = "controlTitle";
    instertedControl.color = this.ContentControlColor;
    instertedControl.appearance = this.ContentControlAppearance;
    instertedControl.tag = "controlTag";
    context.load(instertedControl, 'id');
    range.select(Word.SelectionMode.end);
    let blankrange = context.document.getSelection();
    var blannkText = blankrange.insertHtml('<font color="black">&nbsp;</font>', Word.InsertLocation.start);
    context.load(blannkText, 'id');
    blankrange.select(Word.SelectionMode.end);
    return context.sync().then(() => {
        //
    });
}).catch((error) => {
    console.log('Error: ' + JSON.stringify(error));
    if (error instanceof OfficeExtension.Error) {
        console.log('Debug info: ' + JSON.stringify(error.debugInfo));
    }
});

1 个答案:

答案 0 :(得分:0)

我使用TypeScript重写了你的样本,实际上我无法重现这个问题。试一试......(请使用此yaml在Script lab恢复)

https://gist.github.com/JuaneloJuanelo/c8dc454e053d264f284054362195eca4