[英]App Scripts - Copy (values only) a row of data from one google spreadsheet to another (based on checked box) and deleting it from the original one
Data Source Spreadsheet = "https://docs.google.com/spreadsheets/d/1weqJpRcou0QWpekYg-eqBXUupqSoVC5w4Tc04sFTgWs/edit?usp=sharing"数据源电子表格 =“https://docs.google.com/spreadsheets/d/1weqJpRcou0QWpekYg-eqBXUupqSoVC5w4Tc04sFTgWs/edit?usp=sharing”
Data Destination Spreadsheet == "https://docs.google.com/spreadsheets/d/10Wa76S-slzmtCCePDChMJrLJYaAzA6H_NlpnJKWIfNU/edit?usp=sharing"数据目的地电子表格 == “https://docs.google.com/spreadsheets/d/10Wa76S-slzmtCCePDChMJrLJYaAzA6H_NlpnJKWIfNU/edit?usp=sharing”
function onEdit(e){
if(e.range.columnStart != 28 || e.value != "TRUE") return;
var sh = SpreadsheetApp.getActiveSpreadsheet();
var source = sh.getSheetByName("Sheet1");
var dest = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/10Wa76S-slzmtCCePDChMJrLJYaAzA6H_NlpnJKWIfNU/edit').getSheetByName("Completed");
dest.activate().getRange(dest.getLastRow()+1,1,1,25).setValues(source.getRange(e.range.rowStart,1,1,25).getValues());
source.deleteRow(e.range.rowStart);
}
I guessing that this is probably what you want:我猜这可能是你想要的:
function onMyEdit(e){
const sh=e.range.getSheet();
if(sh.getName()=='Sheet1' && e.range.columnStart == 28 && e.value == "TRUE") {
const dsh=SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/10Wa76S-slzmtCCePDChMJrLJYaAzA6H_NlpnJKWIfNU/edit').getSheetByName("Completed");
dsh.getRange(dsh.getLastRow()+1,1,1,25).setValues(sh.getRange(e.range.rowStart,1,1,25).getValues());
sh.deleteRow(e.range.rowStart);
}
}
It needs to be an installable onedit trigger because it requires permission to move and delete data.它需要是一个可安装的 onedit 触发器,因为它需要移动和删除数据的权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.