是否有一个函数可以从脚本中排除我的工作簿中的某些工作表

我正在尝试编写代码以("F2:M95")每周一次在基于时间的触发器上清除某些数据单元格。一切都如我所愿,但我注意到它正在清除我工作簿中每个工作表上那些特定单元格的数据。


这是我目前拥有的功能:


function LunchEmailClear() {

  var app = SpreadsheetApp;

  var activeSheet = app.getActive()

  activeSheet.getRange("F2:M95").clear();

}

我可以添加什么使其仅适用于某些工作表?(即“早上的电子邮件,午餐的电子邮件”)


附注。也很抱歉,如果我听起来有点傻眼,我上周才开始弄乱脚本,几乎不知道我在做什么。我很感激我能得到的任何帮助!:)


慕容3067478
浏览 118回答 2
2回答

ABOUTYOU

解释:我们可以利用 JavaScriptArray.indexOf()方法来实现这一点。在下面的脚本中,我有一个我们想要包含的工作表数组并将其定义为var include. 然后,我们可以使用for运行if语句的循环将此数组与工作表名称进行比较。这将使用Array.indexOf().例子:function emailClear() {&nbsp; var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();&nbsp; //list sheets to include here&nbsp; var include = ['Morning Emails', 'Lunch Emails'];&nbsp; for (var i = 0; i < sheets.length; i++) {&nbsp; &nbsp; if (include.indexOf(sheets[i].getName()) > -1) {&nbsp; &nbsp; &nbsp; sheets[i].getRange("F2:M95").clear();&nbsp; &nbsp; }&nbsp; }}

心有法竹

这应该可以正常工作:function LunchEmailClear() {&nbsp; //Add the list of sheets to clean&nbsp; var sheets = ['Morning Emails', 'Lunch Emails']&nbsp;&nbsp; var app = SpreadsheetApp.getActive();&nbsp; for (var i=0; i < sheets.length; i++){&nbsp; &nbsp; app.getSheetByName(sheets[i]).getRange("F2:M95").clear();&nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript