我有一个与Google表单相关联的电子表格,可以从提交表单的人那里获取电子邮件地址。我已经有了一个菜单项,可以从单元格中获取电子邮件地址,编写电子邮件并发送。
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Send E-mail')
.addItem('Selected E-mail', 'selected_email')
.addToUi();
}
function selected_email() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var email = sheet.getActiveCell().getValue();
GmailApp.sendEmail(email, "Your Suggestion", "");
}
但是,我希望能够按照我的选择编辑邮件,而无需更改脚本。
有没有办法使用Google Apps脚本在Gmail中创建弹出式“撰写邮件”框?
提前谢谢。
答案 0 :(得分:0)
基于对该问题的一些评论,我能够弄清楚如何解决我自己的问题。
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Send E-mail')
.addItem('Selected E-mail', 'selected_email')
.addToUi();
}
function selected_email() {
var aliases = GmailApp.getAliases();
var desiredAlias = aliases[/*Any Number*/];
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var email = sheet.getActiveCell().getValue();
var message = Browser.inputBox("Message Composer", "Compose E-mail:", Browser.Buttons.OK_CANCEL);
GmailApp.sendEmail(email, "Your Suggestion", message, {from: desiredAlias});
}
GmailApp.sendEmail有多个实现,其中一个实现'options' parameter。在此,您可以设置要向谁发送电子邮件,前提是您可以访问该帐户。这可以通过获取帐户的别名来完成。
为了使用户能够输入自己的文本,有一个inputBox method是Browser类的一部分,允许用户将任何文本存储为程序中的变量。通过这样做,您可以创建一个准“撰写电子邮件”框,并将输入的文本用作您的电子邮件。
感谢@Sergeinsas和@Hann的帮助!