TypeScript开发PowerPoint Office AddIn时OSF.DDA.SlideRange定义位置查询
关于OSF.DDA.SlideRange的类型定义说明
OSF.DDA.SlideRange属于Office JavaScript API的内部运行时类型,官方并未将这类内部实现相关的类型纳入公开的@types/office-js类型包对外暴露,所以你无法在公开的类型定义中直接找到该类型声明。- 官方当前的
Office.AsyncResult本身支持泛型定义,你可以直接将自定义的ISlideRange作为泛型参数传入,实现类型校验,不需要强依赖未公开的内部类型,示例修改如下:
Office.context.document.getSelectedDataAsync<ISlideRange>(Office.CoercionType.SlideRange, (asyncResult) => { if (asyncResult.status === Office.AsyncResultStatus.Succeeded) { // 这里asyncResult.value已经是ISlideRange类型,不需要额外断言 const slideRange = asyncResult.value; Logger.Log(slideRange.slides); } else { Logger.Log("Action failed with error: " + asyncResult.error.message); } });
- 你自行定义的
ISlide和ISlideRange接口已经可以覆盖正常开发的类型校验需求,反而比依赖内部未公开类型的稳定性更高:内部OSF命名空间下的类型属于非公开API范畴,可能随Office客户端版本迭代发生无预告的变更,不建议直接在业务代码中引用。 - 如果你确实需要查看内部类型定义,可以在本地安装的Office.js资源对应的d.ts声明文件中搜索OSF命名空间,不过相关类型都会标注
@internal标记,默认不会对外导出使用。
内容的提问来源于stack exchange,提问作者Jack Miller
相关产品推荐
相关产品推荐

