【发布时间】:2021-12-17 22:51:23
【问题描述】:
我有下面的代码,它创建了一个重复的工作表,添加了一些数据,然后将该新工作表作为电子邮件附件发送。问题是附件是称为发送所有工作表的工作表,而不仅仅是新创建的工作表。我想我需要做的是将新工作表设置为活动的setActiveSheet 或Activate,但这些都不适合我。
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");
`
【问题讨论】:
-
使用this link解决的问题。
-
如果该答案对您有帮助,您可以投票。对有用答案的投票越多,对每个人都越好。
标签: google-apps-script google-sheets