首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Word Addin -在beta版本中不工作的Document.open

Word Addin -在beta版本中不工作的Document.open
EN

Stack Overflow用户
提问于 2018-04-16 11:48:41
回答 1查看 210关注 0票数 0

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

代码语言:javascript
复制
Document.open, OfficeExtension.Error

GeneralException: GeneralException

在匿名功能(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:222335)、人工智能(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:267964)、ft (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版微软2016年Word MSO (16.0.9029.2253) 32位上运行良好。

编辑

( a)我使用的是带有最新office 365桌面版Microsoft 2016 MSO的beta CDN版本https://appsforoffice.microsoft.com/lib/beta/hosted/office.js (16.0.9126.2152),因为.open()方法在生产CDN中仍然不可用。但它在beta版中是可用的--参见:OpenSpec

基本上,我想创建和打开文档。为此,使用createdocument方法并传递base64encode文件。在找到和替换一些操作之后(例如,查找'Test‘并替换为'Hello’),然后使用.open()打开它。它一直工作到旧的office 365版本Microsoft 2016 MSO (16.0.9029.2253)。

代码语言:javascript
复制
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. 转到文件->帐户-> Office更新。禁用更新
  3. 右键单击cmd.exe,然后单击“以管理员身份运行”.在命令提示符下运行以下命令: a. cd %programfiles%\通用文件\Microsoft Shared\ClickToRun b. officec2rclient.exe /update用户updatetoversion=16.0.9029.2253
  4. 完成后,确认office版本已更新为16.0.9029.2253。
EN

回答 1

Stack Overflow用户

发布于 2018-04-19 03:40:02

好的,这个片段的问题是,在我们用来操作新创建的文档的beta版中,由于缺乏多平台兼容性,我们限定了这个功能的范围。因此,您的创建和开放需要在同一批。我们有一个bug需要修复,以便在某些平台上启用它,但它肯定还没有为今天的黄金时段做好准备。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49856599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档