Сценарии Office —> Для цикла —>> Ошибка диапазона

#for-loop #range #office-scripts

Вопрос:

Я использую цикл for для получения диапазона ячеек. Но когда я указываю диапазон, он возвращает строку. Пожалуйста, помогите мне с этим.

Кроме того, я прикрепил изображение ошибки.

 function main(workbook: ExcelScript.Workbook)
{
  for (let i=0; i<=10; i  )
  {
   var start = 2   (13 * i);
   var end = 14   (13 * i);

   var id_start = 'F'   start;
   var id_end = 'BM'   end;
   console.log(id_start)
   console.log(id_end)

   let newrange = 'id_start:id_end';   // Here is Error ---- I need newrange as F2:BM14 
   console.log(newrange)
   workbook.getWorksheet("Emp").getRange(newrange);
  }
}
 

Изображение — Код с ошибкой

Ответ №1:

В строке кода, где вы получаете сообщение об ошибке

 let newrange = 'id_start:id_end'; 
 

Вы помещаете переменные, которые вы определили ранее, в строку. Вместо этого вам нужно сохранить переменные вне строки и объединить их со строкой, например:

 let newrange = id_start   ":"   id_end;
 

В качестве альтернативы, если вы хотите использовать шаблонные литералы, вы можете написать строку следующим образом:

 let newrange = `${id_start}:${id_end}`
 

Как только вы обновите свой код до одной из этих строк, он должен работать.

Комментарии:

1. Привет, Бейфи, спасибо. Это работает абсолютно нормально.