I have the code below which creates a duplicate sheet, adds some data and then sends that new sheet as an email attachment. The issue is that the attachment is the sheet called sending ALL sheets and not solely the newly created sheet. I think what i need to do is set the new sheet as active setActiveSheet
or Activate
, but neither of these have worked for me.
var OrderSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("OTW Sheet");
var Row = OrderSheet.getLastRow();
var Values1 = OrderSheet.getRange(Row, 5).getValue();
var Values2 = OrderSheet.getRange(Row, 6).getValue();
var Values3 = OrderSheet.getRange(Row, 7).getValue();
var Values4 = OrderSheet.getRange(Row, 8).getValue();
var Values5 = OrderSheet.getRange(Row, 9).getValue();
var Values6 = OrderSheet.getRange(Row, 2).getValue();
var Invoice = SpreadsheetApp.openById("13JpYjMNg5CcGwnRX_ZMXJIw5jeGfUrVvAC47xCNzHdg");
Invoice.getSheetByName("BLANK").copyTo(Invoice).setName("OTW Invoice " + new Date).activate();
var Newsheet = Invoice.getActiveSheet();
Newsheet.getRange(17, 2).setValue(Values1);
Newsheet.getRange(18, 2).setValue(Values2);
Newsheet.getRange(19, 2).setValue(Values3);
Newsheet.getRange(20, 2).setValue(Values4);
Newsheet.getRange(21, 2).setValue(Values5);
Newsheet.getRange(6, 7).setValue(Values6);
var message = {
to: "wilson.aidan101@gmail.com",
subject: "Test Invoice",
body: "Hi,\n\nPlease find the latest invoice attached.\n\nThank you,\nAidan",
name: "Aidan",
attachments: [Invoice.getAs(MimeType.PDF).setName("Invoice")]
}
MailApp.sendEmail(message);
OrderSheet.getRange(Row, 1).setValue("COMPLETE");
`