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({
    })
  };
4

1 回答 1

1

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

于 2020-04-06T19:52:21.717 回答