Crear un script de Excel para eliminar filas

Crear un script de Excel para eliminar filas

Estoy usando la nueva funcionalidad de secuencias de comandos (no VBA) en Excel Online para usar con Power Automate. Estoy intentando crear un script que elimine filas después de un punto determinado. Al principio funcionó, pero luego sigo recibiendo errores.

He usado las funciones de:

  1. getRangeEdge(dirección, celda activa),
  2. getRowIndex(),
  3. getHeaderRowRange()y
  4. eliminarRowsAt(índice, recuento).

Mi guión final es:

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);

}

Cuando ejecuté el script por primera vez, no tuve ningún problema y funciona. La segunda vez que ejecuté el script, funcionó, pero recibí un error que decía "Línea 25: Tabla deleteRowsAt: El argumento no es válido, falta o tiene un formato incorrecto". Creo que después de actualizar, me encontré con un tercer problema en el que el script me da un error en "ExcelScript", pero funciona y me da el error "Línea 25...". Captura de pantalla a continuación.

Script que muestra errores "ExcelScript" y "Línea 25...""Script que muestra errores de "ExcelScript" y "Línea 25..."

Mismo código, pero sin comentarios."Mismo código, pero sin comentarios"

Necesito que esto funcione sin errores, porque cuando lo agrego a mi flujo de Power Automate, los errores hacen que se rompa.

Me doy cuenta de que puedo configurar "ejecutar después" en Power Automate para continuar aunque el script "en funcionamiento" proporcione un error. Sin embargo, cuando se ejecuta el script a través de Power Automate, no "funciona", aunque ejecutarlo a través de Excel Online sí "funciona".

Agradezco su ayuda.

información relacionada