2017-10-14 32 views
1

我triyng將簡單變量(profesorgg)傳遞給谷歌Apps腳本中的HTML模板,以評估我校中每位教師的HTML併發送給他們一個個性化的電子郵件。這是代碼:將變量從谷歌應用程序腳本傳遞到html模板

Code.gs

function Recordatorio() { 

//COGIENDO UN PROFESOR DESDE GROUPS 

var page = AdminDirectory.Users.list({ 
    domain: 'iesovaldemedel.es', 
    orderBy: 'familyName', 
    maxResults: 400}); 
var has = GroupsApp.getGroupByEmail("[email protected]").getUsers(); 


var users = page.users; 
if (users) { 
    for (var i = 0; i < users.length; i++) { 

    var email = users[i].primaryEmail; 
    var nombre = users[i].name.givenName; 
    var apellidos = users[i].name.familyName; 
for (var h in has){ 

    if (has[h] == email){ 

var profesorgg = apellidos + ", "+nombre; 

var subject ="Resumen de faltas para " +profesorgg + "." ; 
var body = "Se adjunta el resumen de faltas del mes que termina"; 
var html = HtmlService.createTemplateFromFile("recordatoriohtml"); 
html.data = profesorgg; 
var htmlbody =html.evaluate().getContent(); 

MailApp.sendEmail("[email protected]", subject, body, {htmlBody: 
htmlbody}); 

}}}}} 

HTML文件:recordatoriohtml

<html> 
<head> 

</head> 
<body> 

<h1 align="center">IESO Valdemedel</h1> 
<div class = "wrapper3"> 
<image align="center" src="image> 
</image> 
</div> 

<? var today = new Date; 
var mes = today.getMonth(); 
var ano = today.getYear(); 
var date = Utilities.formatDate(today, "GMT+1", "dd-MM-yyyy"); 
var data = SpreadsheetApp.openById("myspreadsheet") 
.getSheetByName("DATOS").getDataRange().getValues(); 

我真的triyng來電來訪profesorgg(HMTL文件續)

var profesorg = profesorgg; 
var faltamas=0; 
var faltas =[]; 
//BUSCANDO A ESE PROFESOR EN LAS FALTAS 

for (var o = 1 ; o<data.length; o++){ 
var timestamp = data[o][0]; 

var profesor = data[o][1]; 
var diadefalta = data[o][2]; 
var todoeldia = data[o][4]; 
var motivo = data[o][3]; 


if(diadefalta != ""){ 
var diadefalta2 = Utilities.formatDate(diadefalta, "GMT+2", "dd-MM-yyyy"); 
var mesfalta = diadefalta.getMonth(); 
var anofalta = diadefalta.getYear();} 
else{var diadefalta = "-"} 


if (ano == anofalta && mes == mesfalta && profesor == profesorg){ 
faltamas++ 
faltas.push([diadefalta2,profesor,todoeldia,motivo]);}} 

if(faltamas >0){?> 

<hr width=100%> 
<h1 align = "center">Resumen Futuro</h1> 
<hr width=100%> 

<h2> Faltas para mañana </h2> 
<?if(faltas !=""){?> 
<div> 
<table style="width:100%"> 
<tr> 
<th id="t01">Fecha</th> 
<th id="t02">Todo el día</th> 
<th id="t03">Motivo</th> 

</tr> 
<?for (var c=0; c<faltas.length; c++){?> 
<tr> 
<td id="td01"><?=faltas[c]?></td> 

<td id="td02"><?=faltas[c][0]?></td> 
<td id="td03"><?=faltas[c][2]?></td> 
<td id="td04"><?=faltas[c][3]?></td> 

</tr> 
<?}}}?> 
</table> 
<br> 
<hr width=100%> 

<?if (faltas ==""){?> 
No tienes faltas este mes 
<?}?> 
<br> 

</div> 

<hr width=100%> 

<h3>Atentamente, IESO Valdemedel</h3> 
<hr width=100%> 
</body> 
<footer> 

<b><i><small>Powered by</small></i></b> <br> 
<a href="http://www.teachinginsights.es"> 
<img src="image> 
</a> 

<hr width=100%> 
</footer> 
</html> 

有可能的?非常感謝您的幫助

馬里奧·莫雷諾

回答

0

如果我看了你的代碼的權利,你是通過變量「profesorgg」是這樣的:

html.data = profesorgg; 

哪個是正確的路要走,但請注意,您實際上正在爲您的html聲明一個變量「data」,並將profesorgg的值賦給它。 這意味着,在您的HTML

<? data ?> 

將返回profesorgg execpt,我認爲要覆蓋其在該行的值

var data = SpreadsheetApp.openById("myspreadsheet") 
.getSheetByName("DATOS").getDataRange().getValues(); 

無論如何,下一行到你的HTML工作 - 文件:

var profesorg = profesorgg; 

你需要做這在.GS文件:

html.profesorg = profesorgg; 
+0

它的作品!!非常感謝。我正在爲此瘋狂。再次感謝。 –

+0

我很樂意提供幫助!如果您將答案標記爲已接受,我將不勝感激,但我很高興能夠幫助我:) – FatFingersJackson

相關問題