这让我发疯了-我正在使用React和office JS开发我认为是MS单词的简单插件。
我正在将https://appsforoffice.microsoft.com/lib/beta/hosted/office.js加载到我的应用程序中,我有一个有效的清单,并且可以按需加载可以按预期呈现的应用程序,直到我尝试创建单词交互性。我遇到了第一个障碍,我需要我的插件来获取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.document,它将编译并添加文本段落。我根本不知道我哪里出错了。
Office版本为Mac 2016 16.2(181125),因此应轻松接受具有此功能的Word 1.3 API。
Google搜索没有给出有意义的结果,这表明我错过了它,而不是常见的错误。
任何帮助将不胜感激。
答案 0 :(得分:0)
我终于解决了这个问题,这是由于React库@ types / office-js过期了。该加载项是使用yeoman生成器创建的,@ types / office-js的版本为0.051 ^。我更改了packages.json中的程序包,并运行npm install以更新到最新版本(在撰写本文时为0.0170),其中包括与单词API的更高版本(包括createDocument)一起使用的上下文。