Skip to content

Commit 0f46883

Browse files
Jon ChristensenJon Christensen
authored andcommitted
end!
1 parent eed67be commit 0f46883

File tree

2 files changed

+36
-20
lines changed

2 files changed

+36
-20
lines changed

README.md

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2478,39 +2478,55 @@ var body_mdl = doc_mdl.getBody();
24782478

24792479
### Mail Merge ###
24802480

2481-
#### Append Subject and Body Properties for Object in Array of Objects ####
2481+
#### Append Subject and Body Properties for Array of Objects ####
24822482

24832483
```javascript
2484-
function appendSubjBodyForArrObj(arrObj, subj, body) {
2484+
/**
2485+
* Returns an array of objects. Subject and Body properties are appended to each object.
2486+
*
2487+
* @param {Object[]} arrObj
2488+
* @param {string} subj
2489+
* @param {string} body
2490+
* @param {string} delim
2491+
* @returns {Object[]}
2492+
*/
2493+
2494+
function appendSubjBodyForArrObj(arrObj, subj, body, delim) {
24852495
for (var i = 0; i < arrObj.length; i++) {
2486-
var obj = arrObj[i];
2487-
var _body = body;
2488-
var _subj = subj;
2496+
var obj = arrObj[i];
24892497
for (var prop in obj) {
2490-
var search = "%" + prop + "%"
2491-
if (_body.indexOf(search) !== -1) {
2492-
_body = _body.replace(search, obj[prop]);
2498+
var search = delim + prop + delim;
2499+
if (body.indexOf(search) !== -1) {
2500+
body = body.replace(search, obj[prop]);
24932501
}
2494-
if (_subj.indexOf(search) !== -1) {
2495-
_subj = _subj.replace(search, obj[prop]);
2502+
if (subj.indexOf(search) !== -1) {
2503+
subj = subj.replace(search, obj[prop]);
24962504
}
24972505
}
2498-
obj.Subject = _subj;
2499-
obj.Body = _body;
2506+
obj.Subject = subj;
2507+
obj.Body = body;
25002508
}
25012509
return arrObj;
25022510
}
25032511

25042512
var sheet_aasbfao = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
25052513
var arrObj_asbfao = arrObjFromSheet(sheet_aasbfao, 2);
2506-
var subj_asbfao = "Classroom update for %First% %Last%"
2514+
var subj_asbfao = "Classroom update for %First% %Last%";
25072515
var body_asbfao = "<p>%First% %Last% is in %Homeroom%'s this fall!</p>";
2508-
Logger.log(appendSubjBodyForArrObj(arrObj_asbfao, subj_asbfao, body_asbfao)); // [{subj=Classroom update for Arienne Garret, body=<p>Arienne Garret is in Muhsina's this fall!</p>}, Last=Garret, Email=agarret@example.com, Homeroom=Muhsina, Grade=6.0, First=Arienne, ...]
2516+
Logger.log(appendSubjBodyForArrObj(arrObj_asbfao, subj_asbfao, body_asbfao, "%")); // [{Last=Garret, Email=agarret@example.com, Homeroom=Muhsina, Grade=6.0, First=Arienne, Body=<p>Arienne Garret is in Muhsina's this fall!</p>, Subject=Classroom update for Arienne Garret}...]
25092517
```
25102518

25112519
#### Run Mail Merge for Array of Objects ####
25122520

25132521
```javascript
2522+
/**
2523+
* Sends and email for each object in an array of objects.
2524+
* Properties Email, Subject and Body are used.
2525+
*
2526+
* @requires appendSubjBodyForArrObj()
2527+
* @param {Object[]} arrObj
2528+
*/
2529+
25142530
function runMailMergeForArrObj(arrObj) {
25152531
for (var i = 0; i < arrObj.length; i++) {
25162532
var obj = arrObj[i];
@@ -2524,7 +2540,7 @@ function runMailMergeForArrObj(arrObj) {
25242540

25252541
var sheet_rmmfao = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
25262542
var arrObj_rmmfao = arrObjFromSheet(sheet_rmmfao, 2);
2527-
var subj_rmmfao = "Classroom update for %First% %Last%"
2543+
var subj_rmmfao = "Classroom update for %First% %Last%";
25282544
var body_rmmfao = "<p>%First% %Last% is in %Homeroom%'s this fall!</p>";
25292545
arrObj_rmmfao = appendSubjBodyForArrObj(arrObj_rmmfao, subj_rmmfao, body_rmmfao);
25302546
runMailMergeForArrObj(arrObj_rmmfao);

main.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2341,10 +2341,10 @@ function appendSubjBodyForArrObj(arrObj, subj, body, delim) {
23412341
return arrObj;
23422342
}
23432343

2344-
var sheet_aasbfao = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
2345-
var arrObj_asbfao = arrObjFromSheet(sheet_aasbfao, 2);
2346-
var subj_asbfao = "Classroom update for %First% %Last%";
2347-
var body_asbfao = "<p>%First% %Last% is in %Homeroom%'s this fall!</p>";
2344+
// var sheet_aasbfao = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
2345+
// var arrObj_asbfao = arrObjFromSheet(sheet_aasbfao, 2);
2346+
// var subj_asbfao = "Classroom update for %First% %Last%";
2347+
// var body_asbfao = "<p>%First% %Last% is in %Homeroom%'s this fall!</p>";
23482348
// Logger.log(appendSubjBodyForArrObj(arrObj_asbfao, subj_asbfao, body_asbfao, "%")); // [{Last=Garret, Email=agarret@example.com, Homeroom=Muhsina, Grade=6.0, First=Arienne, Body=<p>Arienne Garret is in Muhsina's this fall!</p>, Subject=Classroom update for Arienne Garret}...]
23492349

23502350
// -- Run Mail Merge for Array of Objects
@@ -2370,7 +2370,7 @@ function runMailMergeForArrObj(arrObj) {
23702370

23712371
// var sheet_rmmfao = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
23722372
// var arrObj_rmmfao = arrObjFromSheet(sheet_rmmfao, 2);
2373-
// var subj_rmmfao = "Classroom update for %First% %Last%"
2373+
// var subj_rmmfao = "Classroom update for %First% %Last%";
23742374
// var body_rmmfao = "<p>%First% %Last% is in %Homeroom%'s this fall!</p>";
23752375
// arrObj_rmmfao = appendSubjBodyForArrObj(arrObj_rmmfao, subj_rmmfao, body_rmmfao);
23762376
// runMailMergeForArrObj(arrObj_rmmfao);

0 commit comments

Comments
 (0)