如何使用触发器OnEdit()将一个单元格(A1)复制到另一个(A2)

时间:2019-05-03 13:26:27

标签: javascript google-sheets

我想用单元格A1的内容命名工作簿。如果单元格A1发生了变化,则工作簿的名称也会发生变化。 我找到了执行此操作的脚本。 ,如果单元格的内容是公式...(例如:=“ Hello World”&D42)则没有更改,因此工作簿没有新名称。

所以我将公式放在另一个单元格(A2)中。我希望当工作簿发生更改时,A2内容将被复制到A1(仅值)...,并且工作簿将使用单元格A1的内容进行命名。

我不能同时使用这两个功能

/* Script to copy paste value only */
    var source = ss.getRange('Todo!E2');
    source.copyTo(ss.getRange('Todo!A1'), {contentsOnly: true});
/* Script Edit the file name with the contents of cell A1 */

function onEdit(e) {  
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var firstSheet = ss.getSheets()[0].getName();

  if( e.source.getActiveSheet().getName() == firstSheet ) {

  var r = e.source.getActiveRange();

  if( r.getA1Notation() == 'A1' )

  ss.setName(r.getValue());
}
};

第1步:我修改工作簿

第2步:修改A2并将其复制到A1

第3步:A1已更改,因此工作簿已使用A1的内容重命名

非常感谢大家!

0 个答案:

没有答案