在Office.JS中如何获取Binding绑定对应的单元格区域?
关于Office JS中Binding对象区域获取接口的调整说明
接口状态
binding.range 和旧版公共API下的 binding.getRange() 已正式从正式版Office JS API中移除,官方暂无恢复计划。
这两个接口原本属于早期预览阶段的测试接口,并未纳入正式发布的API清单,因此在后续版本迭代中被下线,官方文档也同步删除了对应说明。目前旧版共享API层面,仅支持通过 binding.getDataAsync() 读取绑定区域的单元格数据,无法直接获取区域对象进行属性、格式类操作。
替代实现方案
若开发Excel外接程序需要获取绑定对应的区域对象,可通过Excel专属JS API实现,操作步骤如下:
- 先从现有旧版Binding对象上取到
id属性,即绑定的唯一标识 - 进入
Excel.run上下文会话,通过id获取Excel命名空间下的绑定对象 - 调用该对象的
getRange()方法即可拿到完整的区域对象,支持所有区域相关操作
示例代码:
// 这里的binding为旧版共享API获取到的绑定对象 const targetBindingId = binding.id; await Excel.run(async (context) => { const excelBinding = context.workbook.bindings.getItem(targetBindingId); const targetRange = excelBinding.getRange(); // 加载需要使用的区域属性,例如区域地址 targetRange.load("address"); await context.sync(); // 此处可对targetRange执行后续业务逻辑 console.log("绑定区域地址为:" + targetRange.address); });
内容的提问来源于stack exchange,提问作者Stefan Springer
相关产品推荐
相关产品推荐

