Word Addin - Document.open无法在测试版中使用

时间:2018-04-16 11:48:41

标签: 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

匿名函数(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:222335)    在ai(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:267964)    在英尺(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:268051)    在d(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:267871)    在c(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:266567) 测试版在旧版Office 365版Microsoft Word 2016 MSO(16.0.9029.2253)32位中运行良好。

修改

a)我正在使用beta CDN版本https://appsforoffice.microsoft.com/lib/beta/hosted/office.js和最新的Office 365桌面版Microsoft Word 2016 MSO(16.0.9126.2152),因为.open()方法在生产CDN中仍然不可用。但它可以在测试版中看到:https://github.com/OfficeDev/office-js-docs/tree/WordJs_OpenSpec

b)基本上我想创建并打开文档。为此使用createdocument方法并传递base64encode文件。经过一些查找和替换操作(例如,找到'Test'并替换为'Hello World')并使用.open()打开它。它一直工作到旧办公室365版Microsoft Word 2016 MSO(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);

相同的代码我通过恢复旧版本进行了双重检查并且工作正常。要恢复旧版本,请按照以下步骤操作:

  1. 打开字词
  2. 转到文件 - &gt;帐户 - &gt;办公室更新。禁用更新
  3. 右键单击“cmd.exe”,然后单击“以管理员身份运行”。在命令提示符下运行以下命令:

    一个。 cd%programfiles%\ Common Files \ Microsoft Shared \ ClickToRun

    湾officec2rclient.exe / update user updatetoversion = 16.0.9029.2253

  4. 完成后,确认办公室版本已更新为16.0.9029.2253。

1 个答案:

答案 0 :(得分:0)

好吧,这个代码片段的问题在于我们曾经允许操作新创建的文档,因为缺乏多平台兼容性,我们确定了该功能。所以你的创建和开放需要在同一批次。我们有一个错误需要修复,以便在某些平台上实现这一点,但当然它尚未准备好迎接今天的黄金时段。