The reported issue has been fixed, as of 12 Jan 2016. Range now has these methods:
- setBorder(top, left, bottom, right, vertical, horizontal), as before.
- setBorder(top, left, bottom, right, vertical, horizontal, color, style), NEW!
Examples are provided in the documentation; here's how to set a dashed red border*:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
// Sets borders on the top and bottom, but leaves the left and right unchanged
// Also sets the color to "red", and the border to "DASHED".
cell.setBorder(true, null, true, null, false, false, "red", SpreadsheetApp.BorderStyle.DASHED);
*Corrected, as per comment: the documentation is wrong, it should be SpreadsheetApp.BorderStyle.DASHED/DOTTED/SOLID, not Range. – gotofritz