javascript - How to Copy Row to Another SPREADSHEET based on Certain Value
问题描述
所以,我有 2 个电子表格(它的“电子表格”而不是“表格”)-> Test1 和 Test2 当 Test1 的第 7 列 =“已完成”时,我想将数据从 Test1 复制到 Test2
但我所能做的就是将数据复制到 Test1 中的 Sheet1 到 Sheet2 (相同的电子表格)。请帮我!
这是我的代码
function onEdit(event) {
var ss= SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Main" && r.getColumn() == 7 && r.getValue() == "Completed") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Completed");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);
}
}
解决方案
onEdit()
是一个简单的触发器。它无法打开另一个电子表格:
因为简单的触发器会自动触发,而不需要用户授权,所以它们受到几个限制:
- 他们可以修改他们绑定的文件,但不能访问其他文件,因为这需要授权。
https://developers.google.com/apps-script/guides/triggers
你需要想出另一种方法来做到这一点。
推荐阅读
- reactjs - 如何处理 this.state 是 React 中未定义的问题?
- jmeter - 如何在Jmeter中将动态值从一个http请求传递给另一个http请求
- angular - 使用可观察对象的简单无限滚动分页
- php - PHP MySQL 获取订单的材料和数量
- java - 提供来自 J2EE 的静态非编译文件
- parsing - Scrapy - 解析对齐问题
- amazon-web-services - 100-200 upserts 并在 10 秒的窗口中插入 3 节点 redshift 集群是一种现实的架构吗?
- python - 如何从语言价格中删除 \r\n?
- python - 如何使用一种或多种不同类型的标签来标记对象,以便以后对其进行排序?
- mysql - 没有子查询,为只有空帖子的作者选择所有 author_id