创建 Excel 脚本以删除行

创建 Excel 脚本以删除行

我正在使用 Excel Online 中的新脚本功能(不是 VBA)与 Power Automate 配合使用。我正在尝试创建一个脚本来删除给定点之后的行。最初,它有效,但后来我一直收到错误。

我使用了以下功能:

  1. getRangeEdge(方向,activeCell)
  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);

}

我第一次运行该脚本时,没有遇到任何问题,并且它运行正常。第二次运行该脚本时,它运行正常,但我收到一条错误消息,提示“第 25 行:表 deleteRowsAt:参数无效或缺失或格式不正确。”。刷新后,我认为我遇到了第三个问题,即脚本在“ExcelScript”处给出错误 - 但运行正常并给出“第 25 行...”错误。屏幕截图如下。

脚本显示“ExcelScript”和“第 25 行...”错误“脚本显示“ExcelScript”和“第 25 行...”错误”

相同的代码,但没有注释“相同的代码,但没有注释”

我需要它正常运行,因为当我将它添加到我的 Power Automate 流时,错误会导致它中断。

我确实意识到,即使“工作”脚本出现错误,我也可以配置 Power Automate 中的“运行后”以继续运行。但是,当通过 Power Automate 运行脚本时,它不会“工作”,即使通过 Excel Online 运行它确实“工作”。

感谢您的帮助。

相关内容