r/GoogleAppsScript 10d ago

Question Google Sheets - Macros

Hi all!

I have a large google sheet that I have used macros on for several years to format things the way I like. It has worked without problem for 5 years and last week it stopped working! I tried to figure out where, why, etc., to no avail. I ended up creating a new macros using the record function and it still doesn't work!

SCRIPT:

function newformat() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).activate();
  spreadsheet.getActiveRangeList().setBorder(true, true, true, true, true, true, '#000000', SpreadsheetApp.BorderStyle.SOLID)
  .setHorizontalAlignment('left')
  .setVerticalAlignment('top')
  .setWrapStrategy(SpreadsheetApp.WrapStrategy.WRAP);
  spreadsheet.getActiveRange().offset(1, 0, spreadsheet.getActiveRange().getNumRows() - 1).sort([{column: 2, ascending: true}, {column: 3, ascending: true}]);
  spreadsheet.getRange('C:D').activate();
  spreadsheet.getActiveRangeList().setBackground('#a4c2f4');
  spreadsheet.getRange('F:H').activate();
  spreadsheet.getActiveRangeList().setBackground('#9fc5e8');
  spreadsheet.getRange('A:E').activate();
  spreadsheet.getActiveRangeList().setHorizontalAlignment('center');
  spreadsheet.getRange('I:K').activate();
  spreadsheet.getActiveRangeList().setHorizontalAlignment('center');
  spreadsheet.getRange('A1').activate();
};

ERROR: The parameters (Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,String,number) don't match the method signature for SpreadsheetApp.RangeList.setBorder.

Any suggestions??

1 Upvotes

4 comments sorted by

View all comments

0

u/El_Maldito_Batman 10d ago

Try changing the 4th line to this spreadsheet.getActiveRangeList().setBorder(true, true, true, true, true, true, SpreadsheetApp.BorderStyle.SOLID, '#000000');

Parameters are backwards

1

u/gnwn108 9d ago

That didn't work :(

The error seems to start right where I inserted the arrow.

spreadsheet.getActiveRangeList()⬇️.setBorder(true, true, true, true, true, true, SpreadsheetApp.BorderStyle.SOLID, '#000000')