Sql 如何更改此google应用程序脚本以根据列日期隐藏工作表列而不是行
所以我要成为一名称职的程序员还有很长的路要走,但我确实涉猎过谷歌表单脚本 我以前在计时器触发器上运行了一个脚本,根据a列中的日期隐藏行Sql 如何更改此google应用程序脚本以根据列日期隐藏工作表列而不是行,sql,google-apps-script,google-sheets,Sql,Google Apps Script,Google Sheets,所以我要成为一名称职的程序员还有很长的路要走,但我确实涉猎过谷歌表单脚本 我以前在计时器触发器上运行了一个脚本,根据a列中的日期隐藏行 function min() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getSheetByName("OLD"); var v = s.getRange("A:A").getValues(); var today = new Date().getTi
function min() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("OLD");
var v = s.getRange("A:A").getValues();
var today = new Date().getTime() - 86400000
for (var i = s.getLastRow(); i > 1; i--) {
var t = v[i - 1];
if (t != "") {
var u = new Date(t);
if (u < today) {
s.hideRows(i);
}
}
}
}
function max() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("OLD");
var v = s.getRange("A:A").getValues();
var today = new Date().getTime() + 86400000
for (var i = s.getLastRow(); i > 1; i--) {
var t = v[i - 1];
if (t != "") {
var u = new Date(t);
if (u > today) {
s.hideRows(i);
}
}
}
}
function SHOWROWS() {
// set up spreadsheet and sheet
var ss = SpreadsheetApp.getActiveSpreadsheet(), sheets = ss.getSheets();
for(var i = 0, iLen = sheets.length; i < iLen; i++) {
// get sheet
var sh = sheets[i];
// unhide rows
var rRows = sh.getRange("A:A");
sh.unhideRow(rRows);
}
}
函数min(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var s=ss.getSheetByName(“旧”);
var v=s.getRange(“A:A”).getValues();
var today=new Date().getTime()-86400000
对于(var i=s.getLastRow();i>1;i--){
var t=v[i-1];
如果(t!=“”){
var u=新日期(t);
如果(u<今天){
s、 希德罗斯(i);
}
}
}
}
函数max(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var s=ss.getSheetByName(“旧”);
var v=s.getRange(“A:A”).getValues();
var today=新日期().getTime()+86400000
对于(var i=s.getLastRow();i>1;i--){
var t=v[i-1];
如果(t!=“”){
var u=新日期(t);
如果(u>今天){
s、 希德罗斯(i);
}
}
}
}
函数SHOWROWS(){
//建立电子表格和工作表
var ss=SpreadsheetApp.getActiveSpreadsheet(),sheets=ss.getSheets();
对于(变量i=0,iLen=sheets.length;i
这将设置为每晚午夜运行,以便隐藏距离当前日期不到+-1天的所有行
我现在主要通过android应用程序使用此文档,我需要交换输入布局,将日期从行和列中的值移动到相反的位置,值现在在行中,日期在列中,输入垂直值会快得多……但老实说,更多的是了解我做错了什么,这才是真正激励我寻找答案的原因
有人能帮我修改我的旧脚本来处理这个修改过的工作表吗。
我的尝试失败了
function min() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("OLD");
var v = s.getRange("1:1").getValues();
var today = new Date().getTime() - 86400000
for (var i = s.getLastColumn(); i > 1; i--) {
var t = v[i - 1];
if (t != "") {
var u = new Date(t);
if (u < today) {
s.hidecolumns(i);
}
}
}
}
函数min(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var s=ss.getSheetByName(“旧”);
var v=s.getRange(“1:1”).getValues();
var today=new Date().getTime()-86400000
对于(var i=s.getLastColumn();i>1;i--){
var t=v[i-1];
如果(t!=“”){
var u=新日期(t);
如果(u<今天){
s、 hidecolumns(i);
}
}
}
}
电子表格示例:
有两张纸,一张是我的布局的旧版本,称为“旧”,另一张是我想要的新布局,称为“新”
提前感谢所有能够提供帮助的人此函数隐藏一列,该列的顶行日期小于昨天
function hideColumnWhenTopRowDateIsBeforeYesterday() {
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sh=ss.getSheetByName("Sheet1");
var rg=sh.getRange(1,1,1,sh.getLastColumn());
var vA=rg.getValues()[0];
var yesterday=new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()-1).valueOf();
vA.forEach(function(e,i){
if(new Date(e).valueOf()<yesterday) {
sh.hideColumns(i+1);
}
});
}
函数HIDECOLUMNWhentoprowdateisbeforeDayed(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sh=ss.getSheetByName(“Sheet1”);
var rg=sh.getRange(1,1,1,sh.getLastColumn());
var vA=rg.getValues()[0];
var Date=新日期(新日期().getFullYear(),新日期().getMonth(),新日期().getDate()-1).valueOf();
vA.forEach(功能(e,i){
if(new Date(e).valueOf()脚本比我的脚本好得多,但当我需要根据第1行中的日期隐藏列时,它仍然作用于行…我使用了您的版本,但仍然遇到了与我自己尝试时遇到的类似问题…我的更改如下所示。var rg=sh.getRange(1,1,sh.getLastColumn())
&我用我的数据对此进行了测试,效果很好。