Office js Word加载项-Document.open在测试版中不工作

Office js Word加载项-Document.open在测试版中不工作,office-js,word-addins,Office Js,Word Addins,office.js测试版不适用于office 365桌面版Microsoft Word 2016 MSO(16.0.9126.2152)32位。document.open()抛出一个错误: Document.open, OfficeExtension.Error GeneralException: GeneralException 在匿名函数()处 在ai() 英尺() 在d() 在c() 测试版在旧的office 365版本Microsoft Word 2016 MSO(16.0.9029

office.js测试版不适用于office 365桌面版Microsoft Word 2016 MSO(16.0.9126.2152)32位。document.open()抛出一个错误:

Document.open, OfficeExtension.Error

GeneralException: GeneralException
在匿名函数()处 在ai() 英尺() 在d() 在c() 测试版在旧的office 365版本Microsoft Word 2016 MSO(16.0.9029.2253)32位上运行良好

编辑

a) 我正在使用最新office 365桌面版Microsoft Word 2016 MSO(16.0.9126.2152)的beta CDN版本,因为.open()方法在生产CDN中仍然不可用。但它在测试版中可用,请参见:

b) 基本上我想创建并打开文档。为此,请使用createdocument方法并传递base64encode文件。在执行一些查找和替换操作(例如查找“Test”并替换为“Hello World”)并使用.open()打开它之后,会出现错误。它一直工作到旧的office 365版本Microsoft Word 2016 MSO(16.0.9029.2253)

Word.run(函数(上下文){
var myNewDoc=context.application.createDocument(base64File);
var searchResults='';
返回context.sync()
.然后(函数(){
searchResults=myNewDoc.body.search('{Test}}',{matchCase:true});
加载(搜索结果);
})
.then(context.sync)
.然后(函数(){
对于(var i=0;i
同样的代码,我通过恢复旧版本进行了双重检查,效果良好。要恢复旧版本,请执行以下步骤:

  • 空话
  • 转到文件->帐户->办公室更新。禁用更新
  • 右键单击cmd.exe,然后单击以管理员身份运行。在命令提示符下运行以下命令:

    a。cd%programfiles%\Common Files\Microsoft Shared\ClickToRun

    b。officec2rclient.exe/update user updatetoversion=16.0.9029.2253

  • 完成后,确认office版本已更新为16.0.9029.2253

  • Word.run(function (context) {
    
        var myNewDoc = context.application.createDocument(base64File);
        var searchResults = '';
    
        return context.sync()
                .then(function () {
                    searchResults = myNewDoc.body.search('{{Test}}', { matchCase: true });
                    context.load(searchResults);
                })
                .then(context.sync)
                .then(function () {
                    for (var i = 0; i < searchResults.items.length; i++) {
                        searchResults.items[i].insertText('Hello World', Word.InsertLocation.replace);
                    }
                })
                .then(context.sync)
                .then(function () {
                    myNewDoc.open();
                });
    })
    .catch(errorHandler);
    

    好的,这个代码片段的问题是,在我们用来允许操纵新创建的文档的测试版中,由于缺乏多平台兼容性,我们限定了该功能的范围。因此,您的创建和打开需要在同一批上。我们有一个bug需要修复,以便在某些平台上实现这一点,但它肯定还没有准备好迎接今天的黄金时段

    2个问题:a)您是否尝试过生产CDN?我们已经将API交付生产。b) 您能否提供一个简短的代码片段来重现您的问题?这样我们可以更好地帮助你。谢谢谢谢@JuanBalmori。更多信息请参见以上答案。嗨@JuanBalmori,不太清楚。所以,新创建的文档不再需要任何操作,或者其中存在bug?“一次创建并打开”操作很好,但如何在打开文档之前查找并替换该文档?请提供代码片段。谢谢。这不再受支持。它只是在预览CDN中,由于缺乏与其他平台的对等性,我们将其删除。