Den*_*ier 3 triggers google-sheets google-apps-script
我无法找到有关如何设置 onEdit 触发器的好资源。我有一个功能,我只想在编辑特定工作表时运行。例如说我有 Sheet1、Sheet2、Sheet3、Sheet4、Sheet5。我的脚本从工作表 2、3、4 中提取数据并填充工作表 1。我只希望在有人编辑工作表 2、3 或 4 时运行我的脚本。我将如何设置此触发器?
有多种方法可以实现这一点,每种方法都有自己的优点。您对每种情况都有特定的设置吗?您是否为每种情况运行不同的功能?等等。
if语句检查每个工作表的名称
if (name === "name 2" || name === "name 3" || ...) { /* common code */ ...switch带有 case fall-through的语句(或 no fall through,允许基于工作表进行特定设置)
switch (name) { case "name 2": ....indexOf()
var names = ["sheet 2 name", "sheet 3 name" ... ]; if (names.indexOf(name) { ...在所有情况下,您都希望从事件对象中获取编辑过的工作表的名称:
// My simple-trigger function that runs on edit:
function onEdit(eventObject) {
if (!eventObject) {
/* the function was run from the script editor */
return;
}
var editedSheetName = eventObject.range.getSheet().getName();
/* perform some sort of comparison to figure out if 'editedSheetName'
is one we want to work on, and if so, do so. */
...
Run Code Online (Sandbox Code Playgroud)
您应该查看 Javascript 语言参考(例如 Mozilla Developer Network 上的参考)以熟悉执行流控制。
您可以在 Apps 脚本触发器文档中查看事件对象中可用的属性:https : //developers.google.com/apps-script/guides/triggers/events
| 归档时间: |
|
| 查看次数: |
1503 次 |
| 最近记录: |