Создание скрипта Excel для удаления строк

Создание скрипта Excel для удаления строк

Я использую новую функциональность сценариев (не VBA) в Excel Online для использования с Power Automate. Я пытаюсь создать сценарий, который удаляет строки после заданной точки. Поначалу это работало, но затем я продолжаю получать ошибки.

Я использовал функции из:

  1. getRangeEdge(направление, активная ячейка),
  2. получитьИндексСтроки(),
  3. получитьHeaderRowRange()и
  4. deleteRowsAt(индекс, количество).

Мой окончательный сценарий:

function main(workbook: ExcelScript.Workbook) {
  // [Directly from link 1]
  // Get the current worksheet.
  let selectedSheet = workbook.getActiveWorksheet();

  // [Directly from link 3]
  // Get the first table on the current worksheet.
  const currentSheet = workbook.getActiveWorksheet();
  const table = currentSheet.getTables()[0];

  // [Directly from link 1]
  // Get the last used cell at the end of the column.
  // This recreates the Ctrl+Down arrow key behavior.
  let firstCell = selectedSheet.getRange("A1");
  let firstColumn = selectedSheet.getRange("A1").getRangeEdge(ExcelScript.KeyboardDirection.down);
  let cellAfter = firstColumn.getOffsetRange(1, 0);

  // [My own creation using link 2]
  // Saves the row number of the cell after the Ctrl+Down
  let FinalRow = cellAfter.getRowIndex();

  // [My own creation using link 4]
  // Deletes all rows from the last row for 2000 rows.
  // Without '-1' a blank row is left. '-1' deletes all the empty rows.
  table.deleteRowsAt(FinalRow - 1,2000);

}

Когда я впервые запустил скрипт, у меня не возникло никаких проблем, и он работает. Во второй раз, когда я запустил скрипт, он заработал, но я получил сообщение об ошибке "Line 25: Table deleteRowsAt: The argument is invalid or missing or has an irregular format.". После обновления, как мне кажется, я столкнулся с третьей проблемой, когда скрипт выдает ошибку в "ExcelScript" - но работает и выдает ошибку "Line 25...". Скриншот ниже.

Скрипт, показывающий ошибки «ExcelScript» и «Line 25...»«Скрипт, показывающий ошибки «ExcelScript» и «Строка 25...»»

Тот же код, но без комментариев«Тот же код, но без комментариев»

Мне нужно, чтобы это работало без ошибок, потому что когда я добавляю это в свой поток Power Automate, ошибки приводят к его поломке.

Я понимаю, что могу настроить «запуск после» в Power Automate, чтобы продолжить, даже если «рабочий» скрипт выдает ошибку. Однако при запуске скрипта через Power Automate он не «работает», хотя запуск его через Excel Online «работает».

Я ценю вашу помощь.

Связанный контент