Google apps script 谷歌工作表-应用程序脚本隐藏/显示工作表不工作
新年快乐 在正确启动某些代码时遇到一些问题。我在一个预算表中工作,它有一个概览表,其中的信息是从大多数其他表中提取出来的,然而,由于每个月都有单独的表以及一些其他的表,所以试图跟踪所有的表有点忙。我开始手动隐藏/显示工作表以使事情变得更简单,但一旦我能够在概览页面上自动隐藏/显示几个月,我认为如果工作表也能自动显示,那将是最好的。这让我找到了我目前拥有的代码,如下所示:Google apps script 谷歌工作表-应用程序脚本隐藏/显示工作表不工作,google-apps-script,google-sheets,Google Apps Script,Google Sheets,新年快乐 在正确启动某些代码时遇到一些问题。我在一个预算表中工作,它有一个概览表,其中的信息是从大多数其他表中提取出来的,然而,由于每个月都有单独的表以及一些其他的表,所以试图跟踪所有的表有点忙。我开始手动隐藏/显示工作表以使事情变得更简单,但一旦我能够在概览页面上自动隐藏/显示几个月,我认为如果工作表也能自动显示,那将是最好的。这让我找到了我目前拥有的代码,如下所示: function onEdit(e) { var sheet = e.source.getActiveSheet(); va
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var January = ss.getSheetByName("January");
var February = ss.getSheetByName("February");
var March = ss.getSheetByName("March");
var April = ss.getSheetByName("April");
var May = ss.getSheetByName("May");
var June = ss.getSheetByName("June");
var July = ss.getSheetByName("July");
var August = ss.getSheetByName("August");
var September = ss.getSheetByName("September");
var October = ss.getSheetByName("October");
var November = ss.getSheetByName("November");
var December = ss.getSheetByName("December");
if (e.range.getA1Notation() !== 'A29' || sheet.getName() !== 'Overview') return;
switch (e.value) {
case 'All':
sheet.showColumns(3, 24)
January.showsheet();
February.showsheet();
March.showsheet();
April.showsheet();
May.showsheet();
June.showsheet();
July.showsheet();
August.showsheet();
September.showsheet();
October.showsheet();
November.showsheet();
December.showsheet();
break;
case 'January':
sheet.hideColumns(3, 24);
sheet.showColumns(3, 2);
January.showsheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'February':
sheet.hideColumns(3, 24);
sheet.showColumns(3, 4);
January.hidesheet();
February.showsheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'March':
sheet.hideColumns(3, 24);
sheet.showColumns(5, 4);
January.hidesheet();
February.hidesheet();
March.showsheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'April':
sheet.hideColumns(3, 24);
sheet.showColumns(7, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.showsheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'May':
sheet.hideColumns(3, 24);
sheet.showColumns(9, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.showsheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'June':
sheet.hideColumns(3, 24);
sheet.showColumns(11, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.showsheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'July':
sheet.hideColumns(3, 24);
sheet.showColumns(13, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.showsheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'August':
sheet.hideColumns(3, 24);
sheet.showColumns(15, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.showsheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'September':
sheet.hideColumns(3, 24);
sheet.showColumns(17, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.showsheet();
October.hidesheet();
November.hidesheet();
December.hidesheet();
break;
case 'October':
sheet.hideColumns(3, 24);
sheet.showColumns(19, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.showsheet();
November.hidesheet();
December.hidesheet();
break;
case 'November':
sheet.hideColumns(3, 24);
sheet.showColumns(21, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.showsheet();
December.hidesheet();
break;
case 'December':
sheet.hideColumns(3, 24);
sheet.showColumns(23, 4);
January.hidesheet();
February.hidesheet();
March.hidesheet();
April.hidesheet();
May.hidesheet();
June.hidesheet();
July.hidesheet();
August.hidesheet();
September.hidesheet();
October.hidesheet();
November.hidesheet();
December.showsheet();
break;
}
}
由于某种原因,它不太管用。不知道我做错了什么。我在编码方面不是很有经验,所以我相信这可能是非常简单的事情。这里有一个链接,指向我用tact代码制作的文档的空白副本
我愿意接受建议,提前谢谢。有打字错误。而不是
showsheet()
,它应该是。同样,它应该是而不是hidesheet()
。脚本不完整。这是一个onEdit(e)函数吗?你是对的,我错把代码的第一行留下了,但它在文档的脚本上。我的错误。这就解决了,非常感谢!我知道这很简单。