這是我撰寫的 g 腳本代碼,用于從尚未獲得批準的作業表中推送完整內容并將其發送給必須作為郵件提醒進行批準的人。
我不斷收到一條錯誤訊息,指出“無法讀取未定義的屬性‘vin’”,其中 vin 是字典中的一個鍵,我已將其推送到名為“responses_sheet”的變數中。
從那里變數被讀入 HTML 檔案并通過它運行一個 for 回圈,以在表中使用已經定義的標題創建單獨的條目。但是每當代碼到達 HTML 檔案時,它就會回傳錯誤。請幫助,因為我無法弄清楚錯誤。
function time_trig_pending() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet Name");
var n = sheet.getLastRow();
var range_ceo_app = sheet.getRange("P1:P").getValues();
var range_TAT_ceo = sheet.getRange("AA1:AA").getValues();
var range_vin = sheet.getRange("C1:C").getValues();
var range_amount_discount = sheet.getRange("K1:K").getValues();
var range_rm_name = sheet.getRange("N1:N").getValues();
var range_gm_name = sheet.getRange("M1:M").getValues();
var last_filled = 0
for (i=0;i<=n;i ){
last_filled = 1;
if (range_vin[i] == ""){
break
}
}
var responses_sheet = [];
for (i=1;i<=last_filled;i ){
if (range_ceo_app[i] == "" && range_amount_discount[i] >= 5000 ){
responses_sheet.push({
ceo_app : String(range_ceo_app[i]),
tat: parseInt(range_TAT_ceo[i]),
vin: String(range_vin[i]),
discount: parseInt(range_amount_discount[i]),
rm_name: String(range_rm_name[i]),
gm_name: String(range_gm_name[i])
});
}
}
var htmlBody = HtmlService.createTemplateFromFile('Pending Approval(html)');
htmlBody.responses = responses_sheet;
Logger.log(htmlBody.responses);
var email_html = htmlBody.evaluate().getContent();
MailApp.sendEmail(
"[email protected]",
"Approval Reminder Mail",
'',
{ name : "Reminder System",
htmlBody : email_html
});
}
我鏈接到它的 HTML 檔案是這樣的:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h3>This is to notify you of the pending approvals from your side.</h3>
<table border="2">
<caption></caption>
<tr align="center" style="background-color:rgb(77, 159, 214)">
<th scope="col">VIN</th>
<th scope="col">RM Name</th>
<th scope="col">GM Name</th>
<th scope="col">Discount</th>
<th scope="col">TAT</th>
</tr>
<tr align="center">
<? for(i=0;i<=responses.length;i ) { ?>
<td> <?= responses[i].vin ?> </td>
<td> <?= responses[i].rm_name ?> </td>
<td> <?= responses[i].gm_name ?> </td>
<td> <?= responses[i].discount ?> </td>
<td> <?= responses[i].tat ?> </td>
<? } ?>
</tr>
</body>
</html>
uj5u.com熱心網友回復:
我和你有同樣的經歷。在那種情況下,我使用forEach代替 for 回圈。雖然我不確定這種相同的方法是否可以用于您的情況,但我想提出以下修改。
從:
<? for(i=0;i<=responses.length;i ) { ?>
<td> <?= responses[i].vin ?> </td>
<td> <?= responses[i].rm_name ?> </td>
<td> <?= responses[i].gm_name ?> </td>
<td> <?= responses[i].discount ?> </td>
<td> <?= responses[i].tat ?> </td>
<? } ?>
到:
<? responses.forEach(e => {?>
<td> <?= e.vin ?> </td>
<td> <?= e.rm_name ?> </td>
<td> <?= e.gm_name ?> </td>
<td> <?= e.discount ?> </td>
<td> <?= e.tat ?> </td>
<? }); ?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/380435.html
上一篇:刮雅虎金融紅利
下一篇:使用ischecked函式激活宏
