Google apps script 使用脚本从单元格值中删除空间

Google apps script 使用脚本从单元格值中删除空间,google-apps-script,google-sheets,google-sheets-api,Google Apps Script,Google Sheets,Google Sheets Api,尝试从单元格的值中删除所有空格 E3包含员工全名(John Doe) 在O3中,我有一个公式,当我打开工作表时,它会自动复制,一旦粘贴。我想要的是从脚本运行它 =SUBSTITUTE(E4," ",".")&("@companyname.net") 在我的应用程序脚本中,我有以下内容提取员工姓名。这个脚本设置为email,但我想添加一个函数来在O3中输入值 "<p><b>Employee Name: </b>" + row[4] + "&

尝试从单元格的值中删除所有空格

E3包含员工全名(John Doe)

在O3中,我有一个公式,当我打开工作表时,它会自动复制,一旦粘贴。我想要的是从脚本运行它

=SUBSTITUTE(E4," ",".")&("@companyname.net")
在我的应用程序脚本中,我有以下内容提取员工姓名。这个脚本设置为email,但我想添加一个函数来在O3中输入值

      "<p><b>Employee Name: </b>" + row[4] + "</p>" +
“员工姓名:“+行[4]+”

”+
如何通过@company.net电子邮件删减上述内容并添加(.)

我的全部剧本

function sendEmails() {

  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 3; 
  var lastRow = sheet.getLastRow()
  var lastCol = sheet.getLastColumn()
  var dataRange = sheet.getRange(startRow, 1, lastRow, 23)
  var data = dataRange.getValues();

  for (var i = 0; i < data.length-2; ++i) {
    var row = data[i];
    var message = 

      "<p><b>Email From?: </b>" + row[1] + "</p>" +
      "<p><b>Request Type: </b>" + row[2] + "</p>" +
      "<p><b>Primary Location: </b>" + row[3] + "</p>" +
      "<p><b>Employee Name: </b>" + row[4] + "</p>" +
      "<p><b>Other Location(s): </b>" + row[5] + "</p>" +
      "<p><b>Title: </b>" + row[6] + "</p>" +
      "<p><b>Email Groups: </b>" + row[7] + "</p>" +
      "<p><b>Last 4: </b>" + row[8] + "</p>" +
      "<p><b>Phone #: </b>" + row[9] + "</p>" +
      "<p><b>Shirt Size: </b>" + row[10] + "</p>"+
      "<p><b>District: </b>" + row[11] + "</p>" ;

        var completeMessage = 

      "<p><b>Employee Name: </b>" + row[4] + "</p>" + 
      "<p><b>Default Passwords (Datascape, Email): </b>" + row[12] + "</p>" +
      "<p><b>Fios ID: </b>" + row[13] + "</p>"+
      "<p><b>New Email: </b>" + row[14] + "</p>"+
      "<p><b>Native Worker ID: </b>" + row[15] + "</p>"+
      "<p><b>SSOID: </b>" + row[16] + "</p>"+
      "<p><b>Datascape ID: </b>" + row[17] + "</p>";




    Logger.log("Message:"+ message);

    var userMessage = 
        "Your request for a new ID has been submitted.  Please allow me a few hours to get this generated.  If this is a weekend, I will work this Monday morning.  If needed immediately please reach out to me directly at 978.929.5555<BR>Thank you";


   var cell = row[21]; 
    Logger.log("This is the Cell:" + cell);
    if (cell == "") { 
   var subject = "*** Automated Message *** ID CREATION REQUEST";
   Logger.log("Message Info" + message)   

     MailApp.sendEmail({
     to: row[1],
     subject: "**** AUTOMATED MESSAGE **** ID Request",
     htmlBody: userMessage,
       noReply: true,
});

     MailApp.sendEmail({
     to: "number@vzwpix.com",
     subject: subject,
     htmlBody: message,
       noReply: true,
});

     MailApp.sendEmail({
     to: "myemail",
     subject: subject,
     htmlBody: message,
       noReply: true,
});

var setRow = parseInt(i) + startRow;
sheet.getRange(setRow, 22).setValue("Sent");
sheet.getRange(setRow, 13).setValue("password");
      sheet.getRange(setRow, 15).setFormula('=SUBSTITUTE(E3," ",".")&("@companyname.net")');



  }
}
}
函数sendEmails(){ var sheet=SpreadsheetApp.getActiveSheet(); var startRow=3; var lastRow=sheet.getLastRow() var lastCol=sheet.getLastColumn() var dataRange=sheet.getRange(startRow,1,lastRow,23) var data=dataRange.getValues(); 对于(变量i=0;i”+ 请求类型:“+行[2]+”

”+ 主位置:“+行[3]+”

”+ 员工姓名:“+行[4]+”

”+ “其他位置:”+行[5]+“

”+ “标题:“+行[6]+”

”+ “电子邮件组:“+行[7]+”

”+ 最后4行:“+行[8]+”

”+ “电话:”+行[9]+“

”+ 衬衫尺寸:“+行[10]+”

”+ “地区:“+行[11]+”

”; var completeMessage= 员工姓名:“+行[4]+”

“+ 默认密码(数据视图、电子邮件):“+行[12]+”

”+ Fios ID:“+行[13]+”

”+ “新电子邮件:“+行[14]+”

”+ 本地工作者ID:“+行[15]+”

”+ SSOID:“+行[16]+”

”+ “数据视图ID:”+行[17]+“

”; Logger.log(“消息:”+消息); var userMessage= “您的新ID请求已提交。请允许我花几个小时生成此请求。如果这是周末,我将在本周一上午工作。如果需要,请立即致电978.929.5555与我联系
谢谢”; 变量单元格=行[21]; log(“这是单元格:“+单元格”); 如果(单元格==“”){ var subject=“***自动消息***ID创建请求”; Logger.log(“消息信息”+消息) MailApp.sendmail({ 收件人:第[1]行, 主题:“****自动消息****ID请求”, htmlBody:userMessage, 诺雷普利:没错, }); MailApp.sendmail({ 至:number@vzwpix.com", 主题:主题,, htmlBody:message, 诺雷普利:没错, }); MailApp.sendmail({ 致:“myemail”, 主题:主题,, htmlBody:message, 诺雷普利:没错, }); var setRow=parseInt(i)+startRow; sheet.getRange(setRow,22).setValue(“已发送”); sheet.getRange(setRow,13).setValue(“密码”); sheet.getRange(setRow,15).setFormula('=替换(E3,“,”)&(“@companyname.net”); } } } 链接到工作表

  • 您希望从列“E”的名称创建电子邮件地址。
    • 您希望从列“E”的
      johndoe
      转换为
      John。Doe@company.net
  • 您希望将创建的电子邮件放入“O”列
  • 您希望使用Google Apps脚本中的一个函数来实现这一点
从你的回答中,我可以这样理解。如果这是正确的,那么这个示例脚本如何

示例脚本: 在运行此脚本之前,请设置
domain
的变量。运行
myFunction()
时,将检索列“E”中的值,并将转换后的值放入列“O”

注:
  • 这是一个简单的示例脚本。所以请根据你的情况修改这个
      • 您希望从列“E”的名称创建电子邮件地址。
        • 您希望从列“E”的
          johndoe
          转换为
          John。Doe@company.net
      • 您希望将创建的电子邮件放入“O”列
      • 您希望使用Google Apps脚本中的一个函数来实现这一点
      从你的回答中,我可以这样理解。如果这是正确的,那么这个示例脚本如何

      示例脚本: 在运行此脚本之前,请设置
      domain
      的变量。运行
      myFunction()
      时,将检索列“E”中的值,并将转换后的值放入列“O”

      注:
      • 这是一个简单的示例脚本。所以请根据你的情况修改这个

      为了正确理解您的问题,您能否提供一份样本电子表格和所需的输出值?当然,请删除您的个人信息。我无法共享该工作表,因为整个工作表包含个人信息。基本上E3包含来自表单的员工姓名(FirstName-LastName)。O3包含我创建的电子邮件地址,它始终是firstname。lastname@company.net. 我要找的是一个脚本,根据E3的值自动创建电子邮件地址。在我的脚本中,我已经抓取了名称行,所以我想我可以使用该行[4]来解析它并执行此操作。。。感谢您的回复和添加信息。不幸的是,我仍然无法理解你想要的结果。我想确认一下你的目标。您希望从列“E”的
      johndoe
      创建到
      John。Doe@company.net
      使用谷歌应用程序脚本。我的理解正确吗?谢谢你的回答。在您的第一个解释中,您说使用了列“E”的值。但在你最近的答复中,你说使用了“B”列的值。在共享电子表格中,“B”列的值似乎是电子邮件地址,如
      email@email.com
      。我必须道歉。我无法理解您的目标。为了正确理解您的问题,您能否提供
      function myFunction() {
        var domain = "@company.net";
      
        var sheet = SpreadsheetApp.getActiveSheet();
        var values = sheet.getRange(3, 5, sheet.getLastRow() - 2, 1).getValues();
        var convertedValues = values.map(function(row) {return [row[0].replace(/ /g, ".") + domain]});
        sheet.getRange(3, 15, convertedValues.length, convertedValues[0].length).setValues(convertedValues);
      }