Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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

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
Javascript 如何在触发的单元格中自动添加包含单元格历史记录的注释?_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 如何在触发的单元格中自动添加包含单元格历史记录的注释?

Javascript 如何在触发的单元格中自动添加包含单元格历史记录的注释?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,当前,以下脚本会自动在a列的单元格中添加一个注释,其中包含其历史记录,同时会自动将今天日期添加到B列(在标题为“1”的工作表中)旁边的单元格中。我希望将注释添加到触发单元格(B列),而不是A列中的单元格。在每列中创建单个注释也很有用。有人能帮我吗?提前谢谢! 以下是脚本: function onEdit(e){ { var sh=e.range.getSheet(); var A1=sh.getRange(e.range.rowStart,e.range.columnStart).get

当前,以下脚本会自动在a列的单元格中添加一个注释,其中包含其历史记录,同时会自动将今天日期添加到B列(在标题为“1”的工作表中)旁边的单元格中。我希望将注释添加到触发单元格(B列),而不是A列中的单元格。在每列中创建单个注释也很有用。有人能帮我吗?提前谢谢! 以下是脚本:

function onEdit(e){
{
  var sh=e.range.getSheet();
  var A1=sh.getRange(e.range.rowStart,e.range.columnStart).getA1Notation();
    if( sh.getName() == "1") {
  var rg=sh.getActiveCell();
      if( rg.getColumn() == 1 ) {
        var nextCell = rg.offset(0, 1);
  nextCell.setValue(new Date());
        
  var dt=Utilities.formatDate(new Date(),Session.getScriptTimeZone(),"MM/dd/yyyy HH:mm:ss")
  var newNote=Utilities.formatString('Last Modified:%s cell:%s Value:%s\n',dt,A1,e.value);
  rg.setNote(rg.getNote() + newNote);
}  
}  
  }}

如果您删除了条件(if),那么您发布的脚本应该可以正常工作,因为您不想将其限制在特定的列中。例如:

function onEdit(e){
  var sh=e.range.getSheet();
  var A1=e.range.getA1Notation();
  
  var editDate = Utilities.formatDate(new Date(),Session.getScriptTimeZone(),"MM/dd/yyyy HH:mm:ss");
  
  var nextCell = e.range.offset(0, 1);
  nextCell.setValue(editDate);
  
  var newNote=Utilities.formatString('Last Modified: %s / Updated Cell: %s / Updated Cell Value: %s / Associated Date Cell: %s / Associated Date Cell Value: %s\n',editDate,A1,e.value,nextCell.getA1Notation(),editDate);
  nextCell.setNote(nextCell.getNote() + newNote);
}

你在这里拿到你的代码片段表了吗?除了复制和粘贴,你还尝试了什么?你能更新变量名以便更容易阅读吗?i、 rg应该代表什么?这是一个独立的、不同的问题。这个脚本被修改,它是这个问题的一个组合,这个问题是一个值的自动输入,在这个例子中是一个日期。我尝试了多次修改,以在不同的单元格中添加注释,而不是直接编辑的单元格。这是一个工作脚本,如果需要,在工作表中测试,rg是编辑的单元格。更正此操作可向正在编辑的单元格添加注释,我共享的脚本的作用是,它旁边的单元格添加一个值,在本例中为日期。我想让那个单元格(它旁边的那个单元格)创建自己的便笺,并有自己的历史记录。所以你想把便笺添加到右边的单元格(?),而不是添加到修改过的单元格本身?不,我已经做到了。我想要的是这样的,例如:如果我在单元格A1中输入“test”,那么自动在B1中创建今天的日期。我希望在B1(日期)中创建注释,而不是A1的值。请检查更新的脚本。它在编辑单元格右侧的单元格上创建一个注释,并在每次更新目标单元格时更新该注释的文本。我感谢您的帮助,尽管它在B1中创建了一个值为A1的注释。我希望B1的自动值出现在注释中。