Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何颠倒接头的顺序?_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 如何颠倒接头的顺序?

Google apps script 如何颠倒接头的顺序?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我试图在输入日期时从工作表中复制某些单元格,然后将它们粘贴到另一个工作表中 下面是我的源代码表最后4列的图像。OneEdit日期为AC列: 我想按顺序复制B、I、AA、AC、AB列,并将它们粘贴到我的目标工作表中。这是AB之前的AC。您可以从下图中看到,事件以B、I、AA、AB、AC的顺序粘贴到我的目标工作表中: 目标工作表有A到K列,但我只粘贴到A到F列 我已经尝试在脚本中反转拼接顺序,但我就是无法让任何东西正常工作。我尝试在源代码表中反转列,但是列AB是一个下拉列表,我不知道如何让onE

我试图在输入日期时从工作表中复制某些单元格,然后将它们粘贴到另一个工作表中

下面是我的源代码表最后4列的图像。OneEdit日期为AC列:

我想按顺序复制B、I、AA、AC、AB列,并将它们粘贴到我的目标工作表中。这是AB之前的AC。您可以从下图中看到,事件以B、I、AA、AB、AC的顺序粘贴到我的目标工作表中:

目标工作表有A到K列,但我只粘贴到A到F列

我已经尝试在脚本中反转拼接顺序,但我就是无法让任何东西正常工作。我尝试在源代码表中反转列,但是列AB是一个下拉列表,我不知道如何让onEdit触发器在下拉列表中工作

这是我当前的脚本,没有相反的顺序:

//从事件/事件表复制并粘贴到内部审核表
功能OneEdit(e){
var电子表格=e.source;
var sheet=range.getSheet();
var sourcesheetname=“事件/事件”
var范围=e范围;
var row=range.getRow();
var column=range.getColumn();
var editedColumn=range.getColumn();
var editedRow=range.getRow();
var列=29;
var date=range.getValue();
if(Object.prototype.toString.call(date)=='[Object date]'&&editedColumn==column&&editedRow>2&&sheet.getName()==sourcesheetname){
表1.hideColumns(27,3);
var targetsheetname=“内部审计登记簿”;
var target=e.source.getSheetByName(targetsheetname);
var numCols=sheet.getLastColumn();
var values=sheet.getRange(行,1,1,numCols).getValues()[0];
拼接(9,17)//删除J到Z列
值。拼接(2,6);//删除列C到H
value.splice(0,1);//删除列A
var lastRow=getLastRow(目标);
var lastCol=target.getLastColumn();
价值。取消移位(“事件/事件”);
target.getRange(lastRow+1,1,1,values.length).setValues([values]);//修改
如果(lastRow>=3)target.getRange(lastRow,9,1,3).copyTo(target.getRange(lastRow+1,9,1,3),SpreadsheetApp.CopyPasteType.PASTE_公式);//添加//追加新行
target.getRange(lastRow,values.length).offset(1,0.activate();
target.getRange(lastRow+1,1,1,values.length+2).setOrder(true,true,true,true,true,true,“白色”,电子表格应用程序.BorderStyle.SOLID)
}
}
  • 您希望实现
    列B、I、AA、AC、AB的顺序,而不是
    值的
    B、I、AA、AB、AC
对于这个,这个修改怎么样

发件人: 致:
values.splice(9,17)//删除J到Z列
值。拼接(2,6)//移除柱C至柱H
值。拼接(0,1)//删除A列

values=[…values.slice(0,3),values[4],values[3]];//@谢谢你的回复和测试。我很高兴你的问题解决了。也谢谢你。
values.splice(9, 17) //Remove Columns J to Z
values.splice(2, 6); //Remove Columns C to H
values.splice(0, 1); //Remove Column A
values.splice(9, 17) //Remove Columns J to Z
values.splice(2, 6); //Remove Columns C to H
values.splice(0, 1); //Remove Column A
values = [...values.slice(0, 3), values[4], values[3]];  // <--- Added