这让我抓狂——我正在使用React和office JS开发一个我认为是MS word的简单插件。
我正在加载https://appsforoffice.microsoft.com/lib/beta/hosted/office.js在我的应用程序中,我有一个工作清单,可以侧载按预期渲染的应用程序,直到我尝试创建我的单词交互性。我遇到了第一个障碍,我需要我的addin来获得一个docx文档,然后加载——这应该可以使用createDocument(base64(然后加载。
我的问题是:
Word.run(async context => {
var MyDoc = context.application.createDocument(getMyDocument());
context.load(MyDoc);
})
.catch(function (error) {
console.log('Error: ' + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
console.log('Debug info: ' + JSON.stringify(error.debugInfo));
}
});
未能编译,返回错误TS2339:类型"RequestContext"上不存在属性"application"。
然而,我可以参考context.docent,它将编译并添加文本段落。我根本不知道哪里出了问题。
Office版本是Mac 2016 16.2(181125(,因此应该很容易接受具有该功能的Word 1.3 API。
谷歌搜索没有给出任何有意义的结果,这表明我错过了一些东西,而不是一个常见的错误。
如有任何帮助,我们将不胜感激。
我终于解决了这个问题,这是因为react库@types/office js已经过时了。插件是使用yeoman生成器创建的,@types/office-js的版本为0.051^。我在packages.json中更改了包,并运行npm install以更新到最新版本(在撰写本文时为0.0170(,其中包括与API单词的后续版本(包括createDocument(一起使用的上下文,这起到了作用。