我无法使用google sheet将单行复制到第二张。
我使用Google脚本编辑器发送自动电子邮件更新,效果很好。但是,我现在尝试记录特定列的每个更新。我需要行中的所有信息与编辑的单元格一起移动。
每一行都是一个单独的工作现场,我将同时拥有多达30个并发工作站点。所以更新可能会进入单元格" M3"或" M28"
我要做的是只捕获编辑的行而不是整张表。我目前的代码是复制整张表。我在如何将单行定义为活动并将其设置为范围时绘制了一个空白。
这就是我所拥有的。我不是java脚本程序员,但搜索这个网站已经让我这么远。裸露的代码并不完美。
function sendupdate() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = ss.getActiveCell().getA1Notation();
var row = sheet.getActiveRange().getRow();
var cellvalue = ss.getActiveCell().getValue().toString();
var recipients = '';
var message = '';
var techname = '';
var branchname = '';
var city = '';
var state = '';
var technumber = '';
if(cell.indexOf('M')!=-1){
message = sheet.getRange('B'+ sheet.getActiveCell().getRowIndex()).getValue()
techname = sheet.getRange('N'+ sheet.getActiveCell().getRowIndex()).getValue()
branchname = sheet.getRange('H'+ sheet.getActiveCell().getRowIndex()).getValue()
city = sheet.getRange('J'+ sheet.getActiveCell().getRowIndex()).getValue()
state = sheet.getRange('K'+ sheet.getActiveCell().getRowIndex()).getValue()
recipients = "(emailaddress";
var subject = ' Update: ' +techname + ' ' + message + ' ' + city + ' ' + branchname +' ' ;
var body = ': ' + message + ' Technician: « ' + techname + ' » New Update: « ' + cellvalue + ' » has been posted to the Update Sheet Visit ' + ss.getUrl() + ' to view the changes on row: ' + row + '';
MailApp.sendEmail(recipients, subject, body);
var target_sheet = ss.getSheetByName('Log')
var last_row = target_sheet.getLastRow();
target_sheet.insertRowAfter(last_row);
sheet.getRange('A:P').copyTo(target_sheet.getRange('A'+(last_row+1)+':P'+(last_row+1)));
}
debugger
答案 0 :(得分:0)
通过调用getRange(row, column, numRows
获取活动行的Range
。然后,您可以使用该范围将其复制到其他工作表
答案 1 :(得分:0)
以下是我添加的代码,使其正常工作
var target_sheet = ss.getSheetByName('Log')
var last_row = target_sheet.getLastRow();
var activeRow = sheet.getRange( row ,1, 1 ,16)
target_sheet.insertRowAfter(last_row);
activeRow.copyTo(target_sheet.getRange('A'+(last_row+1)+':P'+(last_row+1)));