【问题标题】:Office Script "Delete All Rows Except The First Header Row" in ExcelExcel 中的 Office 脚本“删除除第一个标题行之外的所有行”
【发布时间】:2021-07-12 20:21:00
【问题描述】:

我尝试创建一个办公脚本,与这个 excel makro 一样:

Sub clear()

Rows("2:" & Rows.Count).ClearContents

End Sub

我的办公室脚本如下所示:

function main(workbook: ExcelScript.Workbook)
{


  let table = workbook.getTable("Table1");
  let rowCount = workbook.getTables()[0].getRowCount();

 
  table.deleteRowsAt(2, rowCount);

}

我收到以下错误:

Line 9: Cannot read property 'deleteRowsAt' of undefined

我不明白为什么属性“deleteRowsAt”未定义。

它需要是一个办公脚本,因为我想用强力自动化来自动化一个过程。

【问题讨论】:

    标签: excel power-automate office-scripts


    【解决方案1】:

    不确定为什么您没有在 rowCount 代码中使用 table。你甚至不知道你是否确定得到那张桌子。

    假设您的表格从第 2 行开始,并且标题在第 1 行,要删除表格,请参见下面的代码。

    function main(workbook: ExcelScript.Workbook) {
      let table = workbook.getTable("Table1");
      let rowCount = table.getRowCount();
      table.deleteRowsAt(0, rowCount);
    }
    

    【讨论】:

      【解决方案2】:

      office 脚本有效,你需要检查表名是否真的是你的表名

      【讨论】:

      • 您的原始脚本也有可能引用了两个不同的表。 workbook.getTable("Table1") 将获得名为“Table1”的表格,而 workbook.getTables()[0] 将获得工作簿中的第一个表格。您应该从工作簿中获取一次表格,并在脚本的其余部分使用该参考(如@user16187680 的答案)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      相关资源
      最近更新 更多