当前位置: 首页 > 知识库问答 >
问题:

我试图自动隐藏表在谷歌表

夏侯兴怀
2023-03-14

我已经在谷歌表格中为我的员工设置了时间表。每个员工都有自己的文档,每周在支付期开始时,我会在每个文档中创建一个新的工作表,并隐藏前一周的工作表。新的工作表是根据付款期(即2月12日至2月18日)的日期命名的。我正在尝试编写一个脚本,可以自动为我完成这项工作。该脚本包含两个在基于时间的触发器上运行的函数。第一个功能工作正常,每周在支付期开始时创建一个新的工作表,并将正确的日期作为工作表的名称。隐藏旧工作表的第二个功能不起作用。我将触发器交错放置,以便在隐藏旧工作表之前几个小时创建新工作表。下面是我试图隐藏旧工作表的内容(模板工作表是复制到每个员工文档中的内容,其中B2是支付期的开始日期,H2是支付期的结束日期)。

  var ss = SpreadsheetApp.openById('TEMPLATE SHEET ID').getActiveSheet()
  var newName1 = Utilities.formatDate(ss.getRange("B2").getValue(),"CST","MMM dd");
  var newName2 = Utilities.formatDate(ss.getRange("H2").getValue(),"CST","MMM dd");

  var EMPLOYEE = SpreadsheetApp.openById('EMPLOYEE SHEET ID');
  var hideEMPLOYEE = EMPLOYEE.getSheets();
    for(var i =0;i<hideEMPLOYEE.length;i++){
    Logger.log(i);
    if(hideEMPLOYEE[i].getName()!== newName1 + "-" + newName2){
    hideEMPLOYEE[i].hideSheet();
     }
  }

共有1个答案

翟曦
2023-03-14

试试这个:

如果B2或H2已经是日期,没关系,这将从它们创建另一个日期,但如果它们是构造函数熟悉的字符串,那么这也将为它们创建一个新的日期。

  var ss = SpreadsheetApp.openById('TEMPLATE SHEET ID').getActiveSheet()
  var newName1 = Utilities.formatDate(new Date(ss.getRange("B2").getValue()),"CST","MMM dd");
  var newName2 = Utilities.formatDate(new Date(ss.getRange("H2").getValue()),"CST","MMM dd");

  var EMPLOYEE = SpreadsheetApp.openById('EMPLOYEE SHEET ID');
  var hideEMPLOYEE = EMPLOYEE.getSheets();
    for(var i=0;i<hideEMPLOYEE.length;i++){
    Logger.log(i);
    if(hideEMPLOYEE[i].getName()!= newName1 + "-" + newName2){
    hideEMPLOYEE[i].hideSheet();
     }
  }
 类似资料:
  • 是否有任何方法可以在谷歌默认地图和地形地图中隐藏滑雪道? 我们可以使用“特征类型”道路隐藏道路并设置能见度。但是滑雪道或小径似乎没有对等的东西。 http://techcrunch.com/2013/03/25/google-adds-trail-maps-for-100-additional-ski-resorts-to-google-maps/

  • }; 这是在displayRoute()函数之前使用的

  • 我已经阅读了很多关于这个问题的文章,但是没有什么能解决我的问题。我有一个标签上的谷歌地图,最初是隐藏的网页加载时,希望得到一些帮助,请。以下是完整的代码: 我就是不能让它工作。如果有人看到有帮助的东西,请回复。谢啦 编辑:将元素选择器更改为类,并将我的链接更改为类而不是ID,现在它至少会选择它。我在firebug中得到一个错误,“mymap未定义”。

  • 我目前在我的应用程序中为谷歌地图设置了一个覆盖图,用于谷歌地图活动。 图像排列完美,但当您离开覆盖区域时,您会看到正常的谷歌地图视图。 我想隐藏除自定义覆盖之外的所有内容,我如何才能做到这一点? 为了防止用户从相机放大的地方缩小并丢失自定义覆盖,我可以将用户锁定在特定gps坐标范围内吗?(自定义覆盖所覆盖的区域)

  • 我正在建立一个多节问卷(共3),我想有4张来保存数据(一个主和一个为每个部分)。 当一个新行添加到主工作表时,如何将数据从主电子表格发送到另一个工作表,并使其成为动态的,以便它不会每次都拉同一行? 我在网上找到了这个脚本: 脚本链接 但不幸的是,它是用于在工作表之间移动数据的。它能被重塑吗? 谢谢

  • 所以,现在我正在使用谷歌表单将数据添加到我的电子表格中。我想添加我的第二个谷歌表单响应下面我的第一个谷歌表单响应自动添加行(我做这个过程在另一个表使用importrange),即使在我的第一个谷歌响应有一些数据。这两个谷歌表单的内容保持不变,所以我想在1页中看到它。 我之所以要这样做,是为了尽量减少创建另一个电子表格来收集所有数据。当我这样做时,总是会收到一条错误消息“#REF!”因为我知道谷歌表