谷歌文档's脚本
Google Doc's Script
让我首先说这是我第一次使用谷歌脚本。
我有一个我通过搜索找到的表格功能,经过一点编辑后就开始工作了。它会根据菜单选择,在一行中发送一封关于状态更新的电子邮件。我还希望它在发送电子邮件时将文本添加到标题为"发送的电子邮件"的列中(如果重要的话,请选择O列)。
这是当前的脚本:
function getColIndexByName(colName) {
var sheet = SpreadsheetApp.getActiveSheet();
var numColumns = sheet.getLastColumn();
var row = sheet.getRange(1, 1, 1, numColumns).getValues();
for (i in row[0]) {
var name = row[0][i];
if (name == colName) {
return parseInt(i) + 1;
}
}
return -1;
}
function emailStatusUpdates() {
var sheet = SpreadsheetApp.getActiveSheet();
var row = sheet.getActiveRange().getRowIndex();
var userEmail = sheet.getRange(row, getColIndexByName("email")).getValue();
var subject = "Helpdesk Ticket #" + row;
var body = "We've updated the status of your ticket.'n'nStatus: " + sheet.getRange(row, getColIndexByName("Status")).getValue();
body += "'n'nNotes: " + sheet.getRange(row, getColIndexByName("Notes")).getValue();
body += "'n'nResolution: " + sheet.getRange(row, getColIndexByName("Resolution")).getValue();
MailApp.sendEmail(userEmail, subject, body, {name:"Help Desk"});
}
function onOpen() {
var subMenus = [{name:"Send Status Email", functionName: "emailStatusUpdates"}];
SpreadsheetApp.getActiveSpreadsheet().addMenu("Help Desk Menu", subMenus);
}
这似乎很琐碎。您可以对emailStatusUpdates
函数中的某个范围使用setValue
方法。
var confirmText = "Email sent at " +
Utilities.formatDate(new Date(), Session.getScriptTimeZone(),
"yyyy-MM-dd HH:mm:ss")
sheet.getRange(row, getColIndexByName("email date")).setValue(confirmText);
我使用您的函数getColIndexByName
来避免在代码中对"O"列进行硬编码。您必须确保O列的标题与我们传递给此函数的内容相匹配。
相关文章:
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- 谷歌文档's脚本
- 如何获取文档id's在BaasBox[0.9.2]中使用java脚本
- 对couchdb数据库/视图中的所有文档运行脚本/查询
- 显示“<script src='some.js'></脚本>"在Html文档中
- 多个“;脚本调用"在SINGLE”内$(文档).ready()”;
- 如何以编程方式将内容脚本添加到 iframe 文档
- <!文档html>在JS脚本中触发“use strict”
- 谷歌应用程序脚本:如何修复循环将一个谷歌文档的段落插入另一个
- 在执行客户端脚本后获取文档源
- 谷歌文档脚本addToFolder
- PHP将JS脚本写入我的html源文档
- 添加<a>元素添加到使用Apps脚本的Google文档中
- javascript文档.write脚本
- 如何将<脚本>放在框架集文档的“正文”中
- 通过node-js脚本将文档数组插入mongodb中的数据库时出现问题
- 文档.写入脚本内部不执行脚本
- 确定元素是否由 JS 添加,还是原始 HTML 文档 *OR* 检测脚本何时通过 InnerHTML 更新节点
- 如何在运行时添加脚本?(文档.Write不是一个函数)