下一个单元格上可自动点击的电子邮件地址.应用程序脚本

Automatic clickable email address on next cell. Apps Script

本文关键字:电子邮件地址 应用程序 脚本 单元格 下一个      更新时间:2023-09-26

我希望我的电子表格在我输入电子邮件地址的旁边的单元格中使用mailto自动创建一个可点击的电子邮件地址。

我的代码是:

function onEdit3() {
  var s = SpreadsheetApp.getActiveSheet();
  if( s.getName() == "Sheet1" ) { //checks that we're on the correct sheet
    var r = s.getActiveCell();
    if( r.getColumn() == 4 ) { //checks the column
      var nextCell = r.offset(0, 1);
      if( nextCell.getValue() === '' ) //is empty?
        var merge = "mailto:"+r;
        nextCell.setValue(merge);
    }
  }
}

问题是,这就是我在下一个单元格中得到的:mailto:Range

我知道这是一个简单的解决办法,但我想不通。

谢谢,Rodrigo

问题是您没有通过调用r.getValues():来获得单元格的值

var merge = "mailto:"+r.getValues();

所以代码应该是:

function onEdit3() {
  var s = SpreadsheetApp.getActiveSheet();
  if( s.getName() == "Sheet1" ) { //checks that we're on the correct sheet
    var r = s.getActiveCell();
    if( r.getColumn() == 0 ) { //checks the column
      var nextCell = r.offset(0, 1);
      if( nextCell.getValue() === '' ) //is empty?
        var merge = "mailto:"+r.getValues();
        nextCell.setValue(merge);
    }
  }
}