Как преобразовать строку в диапазон после ожидания Context.syn c? - PullRequest
1 голос
/ 06 апреля 2020

В следующей функции asyn c я получаю активную ячейку в Excel, а затем загружаю индекс строки. После context.syn c я создаю строку с именем "newRange". Есть ли способ, которым я могу установить текущий диапазон для моего "newRange"? Мне нужно преобразовать newRange в диапазон.

Например, если моя активная ячейка была Sheet1! B8, то мой newRange был бы "Sheet! A8: E8". После нахождения этого мне нужно преобразовать его в диапазон, загрузить этот адрес и снова ждать context.syn c (). Так как же я могу преобразовать "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({
    })
  };

1 Ответ

1 голос
/ 06 апреля 2020

Вы не можете буквально изменить адрес вашего range объекта, потому что свойство address доступно только для чтения. Однако вы можете создать новый диапазон с нужным адресом, используя метод Range.getOffsetRange или метод Range.getResizedRange .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...