如何在Google Sheets脚本中引用单元格值作为邮件正文发送邮件
Google Sheets提取单元格内容作为邮件正文的实现方案
你需要先通过Google Apps Script的电子表格服务读取目标单元格内容,再将读取到的内容赋值给body参数即可。
基础实现代码
以下示例为读取Sheet1工作表的A1单元格内容作为邮件正文,你可以根据自己的需求替换工作表名、单元格位置、收件人地址和邮件主题:
function sendemail() { // 获取当前打开的Google Sheets文档 const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // 选中目标工作表,替换为你的实际工作表名称 const targetSheet = spreadsheet.getSheetByName("Sheet1"); // 读取指定单元格的值,替换为你的目标单元格位置 const emailBody = targetSheet.getRange("A1").getValue(); // 发送邮件 MailApp.sendEmail("你的收件人邮箱地址", "自定义邮件主题", emailBody); }
常见扩展用法
- 如需拼接多个单元格内容作为正文,可以分别读取后拼接:
const userName = targetSheet.getRange("A2").getValue(); const consumeAmount = targetSheet.getRange("B2").getValue(); const emailBody = `您好${userName},您本月消费金额为${consumeAmount}元,请及时核对。`; - 如果你当前已经打开了目标工作表,也可以用
getActiveSheet()直接获取当前激活的工作表,无需手动填写工作表名:const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); - 如需读取整行/整列/多单元格区域内容,可以修改
getRange()参数,比如读取A1到C5区域的所有值:// getValues()返回二维数组,第一维为行,第二维为列 const rangeValues = targetSheet.getRange("A1:C5").getValues(); // 按需遍历拼接成正文即可
注:首次运行脚本时需要按照弹窗提示授权脚本访问你的电子表格和邮箱权限,授权完成后即可正常运行。
内容的提问来源于stack exchange,提问作者Hossam Sadek
相关产品推荐
相关产品推荐

