【发布时间】:2021-06-07 19:32:57
【问题描述】:
我为一个 Google 表格创建了一个邮件合并程序。我点击了Tools和Script editor并创建了一个包含.gs和.html文件的项目。
我有另一个结构相同但电子邮件和数据不同的 Google 表格。我想将 Google Apps 脚本项目从上一个工作表传输到新工作表。但是,我不确定如何执行此操作。
我尝试查看之前是否有人问过这个问题,但我找不到任何东西。我也不确定我是否误解了 Google Apps 脚本应该如何工作。
我已经在下面发布了代码
function sendEmail() {
var first = 1;
var email = 3;
var link = 6;
var emailTemp = HtmlService.createTemplateFromFile('email_template');
var ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var data = ws.getRange("A2:I" + ws.getLastRow()).getValues();
data.forEach(function(row){
emailTemp.first = row[first];
emailTemp.link = row[link];
var htmlMessage = emailTemp.evaluate().getContent();
GmailApp.sendEmail(
row[email],
"Email Subject ",
"Your email doesn't support HTML.",
{name: "Organization", htmlBody: htmlMessage, replyTo:"email@gmail.com"
} )
});
}
【问题讨论】:
-
项目可以访问所有工作表。请发布您的代码
-
您能否详细说明您为什么要这样做?正如 Cooper 所说,您可以从任何脚本访问任何电子表格。另外,为什么不直接将代码复制并粘贴到新项目中呢?可以说比为此编写函数要少。
-
嗨,我已经添加了代码。我想我需要使用除 getActiveSpreadSheet() 之外的其他函数才能使用不同的 Google Sheet?我确实认为将代码复制并粘贴到与lamblichus建议的另一张表相关联的新项目中会很方便。我最初的想法是,可能有一种方法可以简单地将包括 HTML 模板在内的整个项目复制到与不同电子表格关联的另一个项目中。
-
嗨,我发布了一个答案。让我知道这是否适合您。
标签: google-apps-script google-sheets