如何在等待Context.sync之后将字符串转换为范围?

问题描述 投票:0回答:1

在下面的异步函数中,我在Excel中获取活动单元格,然后加载行索引。在context.sync之后,我正在创建一个名为“ newRange”的字符串。有什么方法可以将当前范围设置为“ newRange”?我需要将newRange转换为范围。

例如,如果我的活动单元格是Sheet1!B8,那么我的“ newRange”将是“ Sheet!A8:E8”。找到这个之后,我需要将其转换为一个范围并加载该地址,然后再次等待context.sync()。那么如何将“ newRange”转换为范围?

  addToBOM = async () => {
    try {
      await Excel.run(async context => {
        let range = context.workbook.getActiveCell();
        range.load("rowIndex");
        range.format.fill.color = "yellow";
        await context.sync();
        let newRange = (`Sheet1!A${range.rowIndex}:E${range.rowIndex}`);
        console.log(newRange)
      });
    } catch (error) {
      console.error(error);
    }
    this.setState({
    })
  };
excel typescript asynchronous office-js office-js-helpers
1个回答
1
投票

您不能从字面上更改range对象的地址,因为address属性是只读的。但是,可以使用Range.getOffsetRange方法或Range.getResizedRange方法来生成具有所需地址的新范围。

© www.soinside.com 2019 - 2024. All rights reserved.