如何在Google电子表格中创建自动清除脚本?

Mr_*_*r_S 5 automation google-sheets google-apps-script

我可以使用一些帮助在我的Google电子表格中编写脚本.首先,我不是程序员,也不是编写代码或任何脚本的新手.

我想用这个午餐清单.背景故事:我创建了Google电子表格作为数字午餐表.每位教师都有自己的教室电子表格,课程总数填写主食堂工作人员的主午餐表,以便订购.问题是旧的总数从前一天仍然存在.理想情况下,在新的一天开始时,电子表格中的指定字段将自动清除. 单击此处查看我创建的电子表格的示例.

在我的研究中,我找到了一个关于如何创建脚本来执行此操作的线程,但作为单击按钮然后清除指定范围单击此处查看原始帖子.脚本如下:

function clearRange() {
  //replace 'Sheet1' with your actual sheet name
  var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
  sheet.getRange('C4:I12').clearContent();}
Run Code Online (Sandbox Code Playgroud)

我想要的是有一个脚本,以便每天(例如每天午夜)清除特定的字段/范围.我希望删除列或行,因为我不想丢失学生姓名或午餐选择.

请非常感谢任何帮助.在此先感谢您的帮助,尤其是像我这样的新手.我期待着听到任何人的声音!
- 杰森

DxT*_*xTx 8

按着这些次序...

01. 转到https://script.google.com,然后添加一个新脚本。

????????????
添加新脚本

02.粘贴此功能

function clearRange() {
      // replace 'Sheet1' with your actual sheet name
      // replace 'dhrhrejYOURSHETIDerhe5j54j5j' with your actual sheet ID

      var sheetActive = SpreadsheetApp.openById("dhrhrejYOURSHETIDerhe5j54j5j").getSheetByName("Sheet1");
      sheetActive.getRange('A:Y').clearContent();

    }
Run Code Online (Sandbox Code Playgroud)

???????????? ?? ???????
电子表格 ID

03. 转到运行并选择运行功能,然后选择clearRange
运行脚本后,应清除电子表格。 在此处输入图片说明  

如果它工作正常,请按照以下步骤...

04.转到编辑,选择“所有触发器

你所有的触发器

05. 在“所有触发器”弹出窗口中,选择clearRange作为运行函数。
06. 随心所欲地设定时间。(见示例图片)

设置定时器


eyw*_*ywu 5

该脚本应满足您的需求。您只需要进行一些修改。

  1. 在哪里说“ Sheet1”,您将使用“ Lunch”,这是示例中工作表的名称。
  2. 在脚本编辑器中,您可以添加一个新触发器以使脚本每晚运行。
    • 在脚本编辑器中,转到顶部菜单“资源»当前项目的触发器”
    • 单击链接“未设置触发器。单击此处立即添加一个”。
    • 确保设置以下值:
    • 运行»clearRange
    • 活动»时间驱动
      • 日间计时器
      • 午夜至凌晨1点

那应该在每晚午夜至凌晨1点之间的某个晚上运行脚本。

如果您想要一个可以在电子表格中单击的实际菜单项,以便可以随时运行脚本,则需要做更多的工作。老实说,如果这是您的主要功能……从电子表格(“工具»脚本编辑器”)中加载脚本编辑器可能更容易,只需选择clearRange函数并按播放按钮即可。

如果您确实要添加菜单项,请在此处查看其他文档» https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#addMenu(String,Object)。对新菜单功能进行编码后,就必须像每天晚上运行一样更新触发器。但是,您可以将事件类型更改为From Spreadsheet,并将值设置为On open。这样,当电子表格打开时,它将创建新的菜单项。