Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Sheets Script hideSheet() , Sheet not hidden

Trying to duplicate a hidden template, causing it to be revealed, but then have it be hidden again after the duplication.

The hideSheet() function is not working. Any ideas?

function googleQuiz(){

//Duplicate Sheet 
  var ss =SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.setActiveSheet(ss.getSheetByName('QuizFormTPlate'));
  ss.duplicateActiveSheet();
  sheet.hideSheet();
//Rename sheet
  var dSheet = ss.setActiveSheet(ss.getSheetByName('Copy of QuizFormTPlate'));
  var date = new Date();
  var tz = ss.getSpreadsheetTimeZone();
  var marksDate = Utilities.formatDate(date, tz, 'dd-MMM');
  var name = "G-Quiz ".concat(marksDate);
  dSheet.setName(name);
//Insert Cell 
  var cell = dSheet.getRange("C2");
  cell.setValue('Formative');
}
like image 326
Chris Shortreed Avatar asked Jan 19 '26 03:01

Chris Shortreed


1 Answers

Actually it's "showSheet()" This works for me:

var spreadsheet = SpreadsheetApp.getActive();
var sheetTemplate = spreadsheet.getSheetByName('Template');
sheetTemplate.showSheet();
//do something...
sheetTemplate.hideSheet();

Since hideSheet() takes no effect if the sheet is already hidden:

https://developers.google.com/apps-script/reference/spreadsheet/sheet#hidesheet

Showing the hidden sheet first should do the trick:

https://developers.google.com/apps-script/reference/spreadsheet/sheet#showsheet

like image 127
Mladen Avatar answered Jan 21 '26 21:01

Mladen



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!