【发布时间】:2019-07-20 11:15:04
【问题描述】:
我有这个宏可以向某些人发送电子邮件。问题在于它将表格粘贴到值中,而不是表格格式。我需要将表格粘贴为表格。
function Mails() {
var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
var filas= values[0][1];
var columnas= values[1][0];
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("Enviar"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange(2,4,filas,columnas);
var data = dataRange.getValues();
for (i in data) {
var rowData = data[i];
var emailAddress = sheet.getRange(1, 3).getValue();
var destinatario = rowData[0];
var sigla1 = sheet.getRange(2,4,filas,columnas).getValues();
var mensaje = 'Estimado ' + destinatario + ',\n\n' + sigla1 ;
var asunto = 'Mensajes Pendientes';
MailApp.sendEmail(emailAddress, asunto, mensaje);
}
}
function onOpen () {
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Send Emails', functionName: 'Mails'}
];
spreadsheet.addMenu('Enviar Emails', menuItems);
}
问题是这一行 var sigla1 = sheet.getRange(2,4,filas,columnas).getValues();
我必须将其粘贴为表格,而不是值。我该怎么做?
谢谢
我现在正在尝试使用此代码.. 但它不起作用..
function Mails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("Enviar"));
var sheet = SpreadsheetApp.getActiveSheet();
var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
var filas= values[0][1];
var columnas= values[1][0];
var recipient = sheet.getRange(1, 3).getValue();
var subject = 'Estimado';
var vA=SpreadsheetApp.getActive().getSheetByName('Enviar').getDataRange().getValues();
var html="<style>th,td{border:1px solid black;}<table>";
for(var i=0;i<vA.length;i++) {
html+="<tr>";
for(var j=0;i<vA[i].length;j++) {
if(i==0) {
html+=Utilities.formatString('<th>%s</th>', vA[i][j]);
}else{
html+=Utilities.formatString('<td>%s</td>', vA[i][j]);
}
}
html+="</tr>";
}
GmailApp.sendEmail(recipient, subject, null, {htmlBody:html})
}
function onOpen () {
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Send Emails', functionName: 'Mails'}
];
spreadsheet.addMenu('Enviar Emails', menuItems);
}
Here you have an image of what i need to send via email.
行随着数据而变化,所以表格取决于一天中有多少操作..
【问题讨论】:
-
说某事不起作用并没有帮助。请阅读How to Ask 和minimal reproducible example。
-
我写道我认为这部分不起作用“问题是这一行 var sigla1 = sheet.getRange(2,4,filas,columnas).getValues(); 我必须将其粘贴为一个表,而不是值。我该怎么做?"...
标签: google-apps-script google-sheets