I have wanted to do this for over a year now and someone on twitter referred me here. I am really grateful for the approach you too, that we could run it ever so often to see what the script does up to this point. I needed quite some time to finish it, but I have procrastinated doing exactly what you are showing for more than a year. Hence again: Thank You!!!
@jesse63274 жыл бұрын
Wow, this is awesome. We are using Google Suite at work now, and several months back I told someone that there's no way to do a mail merge like function from Google Sheets to Docs. I am so glad I found this; now I can help them out, since they need to get out of their MS Office environment. Thank you!!
@TheKnightrunners4 жыл бұрын
Thanks. I lost MS office during an Apple upgrade. This is a big help for getting the Christmas mail out!
@gorkasanz16173 жыл бұрын
A five star tutorial. And, for non-english people very clear speech. And it have a lot of tips to learn coding in Google Apps
@overnesss5 жыл бұрын
I'm following you for months now. Your channel helped me a lot, but this. This is just exactly what I was struggling with since last month. Thanks for your content.
@rachaellynn704 жыл бұрын
Awesome tutorial. Love how you walk through your thinking process and the various iterations. Plus, I needed to do exactly this (without an add-one). Thanks!
@philipmeese65015 жыл бұрын
this was an awesome video. I've dabbled in AppScript but I learned so much in this video just by watching your approach to this problem. Thank You!
@sangredecristoseminary5 жыл бұрын
This video helped me think differently about how to process donation statements posted in Google Sheets. Noting that the paragraph type is a concern I wondered about how images or drawings inserted into the template document would copy to the body of the document to be printed. I found this is a problem because images/drawings show as type "PARAGRAPH", and the results of the copy are not exactly as that shown in the template document. In my tests the template document has headers and footers with images (such as a logo), which I simply add to the document to be printed since they're static and used for each statement. I wonder if this would be a good addition to the mail merge tutorial, and a challenge for our excellent instructor? Would other subscribers like to see this?
@mpolek4 жыл бұрын
Thank you so much! This worked perfectly for me to set up Christmas card envelopes. I love that you left in the "mistakes" so I could really learn how this was put together. So helpful!
@evacitti3 ай бұрын
I needed to do something very similar and this was an AMAZING solution. Very well explained and easy to follow along. Thank you!
@allisonrosdahl4 жыл бұрын
thank you so much! this helped me not have to write out all of my christmas card addresses!
@good36085 жыл бұрын
yes thank you very much this is also what i needed. i am starting to understand what you are doing after 6 weeks of following your channel. I am building a database for the charity i work for and watching your channel and learning what to do in GS is very helpful.
@santosahernandezmendoza71475 жыл бұрын
A very ingenious way to pass google spreadsheet data to a document. Thank you because it motivates me to study more in depth the topic of Scripts.
@glenntrewitt5 жыл бұрын
This worked well for me. Not for non-programmers, and my doc was simple.
@BrookeAdamsnationwide5 жыл бұрын
What an excellent video! I had to stop and go back several times but this was extremely thorough! I appreciate the fact that you were testing the functions throughout to be sure that it was working properly. I'm not tech savvy at all but this really helped so much. Thanks!!
@kamalhm-dev5 жыл бұрын
Your videos really improve my productivity and makes my life easier. I'm curious, how do you know so much about this? This is not a very popular topic, I wasn't even sure where to find the documentation
@rafaelwendel14005 жыл бұрын
You can actually find all these methods in Google Scripts Documentation (click on the help button on GS UI). I think you might find it surprising because you come from the spreadsheets world or something like that, but it's actually quite simple and popular to create these types of functions, just search for Google Scripts in StackOverflow
@mohsenghafari76523 жыл бұрын
same....
@mohsenghafari76523 жыл бұрын
@@rafaelwendel1400 please more explain . tanks
@restorationchurch15094 жыл бұрын
You did an incredible job walking through that very complicated process. I have limited-to-no experience with Javascript, yet I was able to work through this tutorial and successfully create the mail merge I wanted for our fundraiser in Google Drive. I actually appreciated that you misspelled some of the titles because it helped me differentiate between what was a title I gave something and which was a command that I couldn't rename. (Again no experience). I even was able to successfully add an image to my final product with this tutorial base. Ready to laugh? My only problem: I refreshed my Google Sheet (with my source code editor open) because it is connected to a Google Form Survey. When I did, my editor closed, and I'm flummoxed for the moment on how to reopen the editor. Attempts to open the same way as the tutorial in the beginning gives me "Sorry" messages. Told you, no experience! I'll figure it out after awhile. It's saved and named somewhere. Great job! Excellent teacher.
@ExcelGoogleSheets4 жыл бұрын
script.google.com/home
@kokomalt4 жыл бұрын
The tutorial was great and it can be followed easily, thank you for making it!
@erinalilith79625 жыл бұрын
Hi, thank you for this great video.. You basically saved me from a huge headache
@XoBebeMore4 жыл бұрын
This was a very great video!! Took some time but I mastered it and saved my company some money!!!
@adoleh4 жыл бұрын
Thank you for the tutorial, it was very helpful. I have a question. If the item I am trying to merge is a QR code, what would elType be and how would you code that? The QR codes would be generated in the spreadsheet using the google API. Thanks.
@emmaoben44364 ай бұрын
This is such a good instructional, thank you. Do you have a version which merges to Slides? Trying to adapt but not getting very far!
@BillHeffelfinger7 ай бұрын
Thank you! Super helpful. Two questions I hope you can help with: 1) If I have images in a cell in a sheet and want to merge them into the doc, how would I go about doing this? 2) I need to format dates that get merged into the doc from the spreadsheet. Any suggestions on how to do this? Thanks again!
@sixzeroes5226 Жыл бұрын
Great tutorial - I was able free up time spent on a redundant task. Thanks!
@mhilmanad2 жыл бұрын
Thank you for being so helpful; the explanation is straightforward to understand. If I want to send Bulk emails with this pre-made template, how do I do that? Thank you
@studentregistration97084 жыл бұрын
This was awesome, thanks! How do I carry over a table, and could I instead of doing a page break do separate PDFs?
@angelobergomi58694 жыл бұрын
Awesome ! Thanks a lot ! All positive thoughts about your work I would like to share has allready been written below...
@kacheongman27174 жыл бұрын
love your video. Would you like to covered how to mail merge a table in template?
@ConstantDylan4 жыл бұрын
Dude, this is amazing and so helpful. You're a champ!
@pjotrpottervogel19902 жыл бұрын
thank you very much, sir! your tutorial made it possible i can generate my 7d2d mod almost automatic WITHOUT TYPOS!!! hell, yeah! ^^
@templerodgers768710 ай бұрын
superb! just what I was looking for! Thank you
@marcelcharest76623 жыл бұрын
Your're the beat. Thanks from Montréal
@scottgraves53495 жыл бұрын
Is there a way to format the text we are merging to an email? Example, I want a word to be blue and bold. Is there a way to add an attachment in the merge to email?
@seattlebliss31784 жыл бұрын
Thanks for this very helpful tutorial. Works beautifully for my application!
@mioked5 жыл бұрын
this is amazing...thank you very much for sharing! Is there a way to have it create a new doc each time for each row of data rather than page break on the same doc?
@mrskbela4 жыл бұрын
Excellent video! Very informative and easy to follow by someone who is learning about Apps Scripts. I found your video while looking for an example of how to merge a unique image into each document (similar to what someone might do to batch create employee ID badges or personalized labels). Do you have a video that explains merging unique images or could you point me to a good example and or documentation?
@jimmywebb72693 жыл бұрын
Really enjoyed the tutorial; Help me tremedously
@nwdani21955 жыл бұрын
Your tutorial is awesome. Not only is clear but you also properly designed the steps to show its purpose, in a flow of show-problem and later show-solution. Now is there any technique for automatically populate the 'final doc' whenever new row got added to the 'spreadsheet' without having to manually run the scipt? Cheers
@TerriEynon3 жыл бұрын
Thank you for this excellent tutorial. You are a very patient teacher. Being able to stop and start umpteen times to see what you actually did was great. I managed to go, in one day, from being a complete Google Spreadsheets novice to the Team Geek able to turn shedloads of data into usable reports. One glitch I couldn't manage to solve: when putting the date '26/10/2021' from a spreadsheet via a template into a report, it comes out as 'Tue Oct 26 2021 00:00:00 GMT+0100 (British Summer Time)'. I've done all the obvious stuff like format the cells in the spreadsheet but it still comes over with the hours and all the unnecessary information. Is there something I should know or another tutorial I need to look at to sort this? Thanks.
@kimjacobs83873 жыл бұрын
This is amazing....! Thank you, thank you...! I am a bit of a spelling nut so that did get me a little, but the way you explain concepts etc and the added pieces about how to see what arguments are available are *fantastic*. I'm hooked..
@muharmensuari19554 жыл бұрын
why error when I add listittem Exception: The parameters (DocumentApp.ListItem) don't match the method signature for DocumentApp.Body.appendParagraph.
@guruslakkimar124 жыл бұрын
Yes - i am facing the same issue - did you rectification ! any solutions available ?
@corvandooren22484 жыл бұрын
@@guruslakkimar12 I have created a copy function which works: //copy doc function copyContentDoc(filename=null) { var sourceDoc = DocumentApp.getActiveDocument().getBody(); if(filename === null){ filename = 'Kopie van_'+DocumentApp.getActiveDocument().getName(); } var targetDoc = DocumentApp.create(filename); var totalElements = sourceDoc.getNumChildren(); for( var j = 0; j < totalElements; ++j ) { var targetBody = targetDoc.getBody(); var element = sourceDoc.getChild(j).copy(); var type = element.getType(); var attributes = element.getAttributes(); if( type == DocumentApp.ElementType.PARAGRAPH ){ targetBody.appendParagraph(element); } else if( type == DocumentApp.ElementType.TABLE){ targetBody.appendTable(element).setAttributes(attributes); } else if( type == DocumentApp.ElementType.LIST_ITEM){ targetBody.appendListItem(element).setAttributes(attributes); } else if( type == DocumentApp.ElementType.PAGE_BREAK){ targetBody.appendPageBreak(element).setAttributes(attributes); } else if( type == DocumentApp.ElementType.HEADER_SECTION){ targetDoc.addHeader().setText(element).setAttributes(attributes); } else if( type == DocumentApp.ElementType.FOOTER_SECTION){ targetDoc.addFooter().setText(element).setAttributes(attributes); } // ...add other conditions of DocumentApp.ElementType } targetDoc.saveAndClose(); return true; }
@gogoulor5 жыл бұрын
Hi. Works perfect, very explicit method. Q: I have inserted an image in a cell, then, how could i do If i want that image in my final document ? Regards.
@shinichi0noT4 жыл бұрын
Have you figured it out?
@amandawilliams39794 жыл бұрын
I FREAKING LOVE YOU!!! THANK YOU!
@migueldemaria38304 жыл бұрын
That's a very helpful vid, thanks a lot!
@richardsunshine86765 жыл бұрын
Your videos are always great, and I use them extensively. How do you create individual Emails with the appropriate attachment for each recipient?
@mirfanalfian83132 жыл бұрын
Thank you very much for the video, it help me a lot for my work.
@ExcelGoogleSheets2 жыл бұрын
Glad to hear that!
@alexanderbtodorov3 жыл бұрын
Hello, thanks for the great lessons! Do you have a tutorial how to create invoices generated with data from a Google Sheet and based on Google Docs template, and after the generation in PDF to send the invoices directly to the customers?
@JimSlaughterOC4 жыл бұрын
Thanks very much. Great presentation.
@phoenixr56195 жыл бұрын
Great Video!! How would I translate that into Labels? I get the {name}, Etc, Etc.... but how would I format that into the final spaced as labels? For instance, could I upload a label template (word) into google drive and use this to translate INTO the word doc??
@michaelwood99672 жыл бұрын
I had the same questions and after a lot of tinkering, got it to work. You need to append a Table to the final doc first and pass it to the mailMerge function. Then, inside the mailMerge function (before the forEach statement), you append a row to the table and set the row's minimum height to the height of your label. You also append a cell to the row. Then, inside the forEach statement, append the mail merge data (from this tutorial) to the cell. In my case, I wanted two columns of labels, so in the final doc, I manually set it to be two columns. I couldn't find a way do do that with Google Scripts, but fortunately, formatting it to two columns works just great. The table cell fills the entire width of the column (or document if you don't make columns). Finally, because a table has to have a paragraph before it, it seems to mess up the first column of labels on the first page. I was able to fix this by using google scripts to set the final document body font to size 1 and the document spacing to .06. You can't tell the paragraph is there and my labels work great! Lifesaver for my own project and this tutorial got me started! Thanks!
@jakenaylor4 жыл бұрын
This is an amazing video. Keen to check out some more of your videos! Cheers. :D
@SweetLittleSoul4 жыл бұрын
This is a great sales tool for Microsoft Office. I remember their process so much easier.
@michaelwood99672 жыл бұрын
It definitely is easier for someone who is used to doing it and someone who is fairly tech literate, but I have a mail merge that needs to be completed on a regular basis by some people who aren't terribly computer savvy. It was more work for me to set it up initially, but now for all the other users, they click a button to run the script and the merge is automatically completed for them. Way easier for them to use than for me teaching them how to do a Word merge.
@Korelucian4 жыл бұрын
How would you place an item where the table has some empty cells, e.g. if I am making a script from a cell where I have sales document, with the source worksheet i have columns named after a product and rows with different branches, some branches might not sell certain items from the table. how can I make the script to add on the mail merge with only the products that has sales value on it
@ferialhamid29134 жыл бұрын
Great, Thanks for the tutorial.. It's helps a lot.
@ErwinOpdenkamp5 жыл бұрын
This is great, I just have to ask if it is possible to get a separate final document for each line in the spreadsheet. Thanks
@sambrightwell36765 жыл бұрын
Yes! Watch the video right through. There's a line of code he adds to create a page break in the function, so you get a separate document for each line of the spreadsheet.
@Izedyn174 жыл бұрын
Thank you so much for this
@dfpdesignforpeace29454 жыл бұрын
Thanks so much for this useful demo. It worked brilliantly! Is there a way to 'getTables' along with their contents? My Template document contains a table with a complex layout. Is that hard to handle?
@phoenixfeather2053 Жыл бұрын
Thank you SO MUCH for your excellent video! I built a mail merge (based on your video) two years ago and it has been working spectacularly .... until yesterday. Now (suddenly) it is throwing an error message: " Error Service Documents failed while accessing document with id xxxxxxx..... " It does not indicate a line or any other information. I have tried running it from a different user - same. I have tried using a different doc with a different id - same. I do not understand why [suddenly] it would not work. Please advise if possible! Again, THANK YOU!!
@TheOneLifeRider10 ай бұрын
have you found a solution?
@bestlocaldeals17422 жыл бұрын
Thanks! Very helpful.
@ExcelGoogleSheets2 жыл бұрын
Glad it was helpful!
@dylandrake8875 жыл бұрын
Any idea why it's creating an extra copy of the template along with the "merged" version?
@justinwright77883 жыл бұрын
Was this ever figured out?
@jonathanclark64892 ай бұрын
AMAZING!!!!!!!!!
@alexzhang58165 жыл бұрын
This is great, wluld you please help us take this further and hook this to email script so it sends out from a list of associated email addresses in the spreadsheet? Thanks Alex
@govindugale5 жыл бұрын
thank you sir.. very usefully video..!
@austinhomolka5 жыл бұрын
So helpful, thank you for putting out this content!
@CIKGURAFI4 жыл бұрын
I have shared my coding with you using my gdrive..i hope you can help me fixing my coding or giving any ideas, thanks a lot..
@CHETANSOMASHEKAR5 жыл бұрын
How to put a table in google doc template and send data from google sheets to doc table?
@bachchuhaldar378310 ай бұрын
Excellent video.. But sir.. Please use picture in mailmarge .... Please sir
@codobyte4 жыл бұрын
When I copy a multi-level list (LIST_ITEM's) and would like to add some level in the final doc, the formatting is lost. How can I copy a list AND keep the format in the final doc when the user edits the list?
@julianmartin45825 жыл бұрын
Thank you for the video! I am running into an error (TypeError: Cannot call method "forEach" of undefined. (line 25, file "Code")) Any advice as to how to fix this? Thanks!
@DarrynGordon5 жыл бұрын
I had a similar problem. You probably aren't passing in the correct number of parameters as per the function declaration.
@thebestbyme3 жыл бұрын
merci beaucoup bro !!! t'es un vrai crack
@fiwaboarding69955 жыл бұрын
it's a great job. I have some problem in applying number and table. how can i restrat the number for each page break since this video use list_item. then how can i apply table in the final document? thanks
@roycerowan97254 жыл бұрын
How would I use this to update multiple documents at one time? Each row would be mapped to its own google doc. Thanks
@Lassereinhardt15 жыл бұрын
Hi. Love your app script videos. If you could cover export pdf files to Google drive in app script in a video. I would be much appreciated. Thanks
@tinman.125 жыл бұрын
Can you tell me what the inside of { } is known as. I want my responses to be blue but do not know how to reference them in the code to ensure that all entries are blue instead of black (blue is for legal, black is for the dead, red is for the living and purple is Royalty)
@classicguy78134 жыл бұрын
Hi Guru and beyond of Apps Script guy! Sir how do we replace links with pictures and let the google do the backend job for pasting pictures to google docs
@abdulhamidalfani4 жыл бұрын
Hi I enjoyed ur vids, but could you pls show the final result first how it looks like in ur first 1 minute, and in what scenario we'll need it... thx
@genrmx5 жыл бұрын
Cool video! But i wonder. Is it possible that if a certain cell has value X then copy cel [0][1][2][3][4] If it has value Y then copy cell [10], [11],[12],[13] and if cell has value Z then copy cells [5],[6],[7],[8],[9]
@krzysztofszeremeta26094 жыл бұрын
Dear. What use this solution for use with postage stamp from pdf list file with image? Poland Post (Envelo)?
@beccaadolph2 жыл бұрын
I love these tutorials. Is there an updated version?
@ExcelGoogleSheets2 жыл бұрын
Other than UI looking different, nothing else changed.
@vinodjha29634 жыл бұрын
Really great learning for a beginner like me. I could create a merged email as per my requirement, but I could not send it to the recipient. IF you can help me with that.
@ExcelGoogleSheets4 жыл бұрын
If you want to send emails you should be using HTML not Google Docs. Here is an example kzbin.info/www/bejne/nmPdYmaPepiegMk
@tonybell92015 жыл бұрын
But what if you want to copy boxes and images as well? I get an error when it hit those.
@izharjafri11975 жыл бұрын
Hey just wondering if you can help me in getting input for row number through prompt box for a row record we want to merge in doc
@comblee99684 жыл бұрын
Hi This is very helpful for collecting applications forms,I have a question though. One of my columns is Image link from Google drive. Is it possible to make that image show on google doc?
@jesuseduardobittersuarez75173 жыл бұрын
I have multiple rows for echa person, so I need to send a table must of the time to each one, can I do it?
@mr_k4tz4 жыл бұрын
Great tutorial. Is there a way to select from multiple of templates based on the contents of a cell? for example if a cell says "x" use template "x", but if a cell says "y" use template "y" etc?
@rj.laluyan3 жыл бұрын
Create 2 templates, get the ID, set var for each of them. Use if condition in the script pointing to the template (x or y).
@govtmiddleschoolbodla2535 Жыл бұрын
can we add images in cells and display in generated pdfs.?
@sarfarazm55685 жыл бұрын
Hi wonderful app , What do we do if we want to draft this drafts in gmail draft folder with the email and all the document
@sandersontestprep87385 жыл бұрын
That helps us create a Google Doc with separate pages. Can you finish it out and tell us how to automate sending each separate page as a separate email?
@jkevinAH4 жыл бұрын
my template has a letter on the 1st page only (the whole template has 2 pages), ive replicated your tutorial and it works but the header is not copied :( also ive noticed that for the numbered lists (instead of bullet points), my problem is the number lists continues from one copy to the next so my last copy has numbered lists starting from 50. instead of 1.
@davidaxelrad86844 жыл бұрын
What is the easiest solution to run this script using the doc as a template and outputting a PDF for repetitive usage from a single line of code?
@joelsigue83992 жыл бұрын
is it possible to insert a SQL query in the script and make use of "where" to filter? thank you for the very useful video.
@ExcelGoogleSheets2 жыл бұрын
No, but you can use JavaScript filter method kzbin.info/www/bejne/hoXChXeegs2Kqac
@abdullahquhtani42475 жыл бұрын
I hope you reply to this. Is it possible to do this with google forms so email will be sent right after submission. I’m sure many ppl need this as well as I do. I can pay you for modification that match my needs.
@ExcelGoogleSheets5 жыл бұрын
kzbin.info/www/bejne/fmi6d56qa69nqNU
@NenTata145 жыл бұрын
Can you teach me/ us how to make a copy of a template file in google docs then save it as PDF file in a specific folder in google drive. Thank you so much
@hiperxavi4 жыл бұрын
Have another vídeo to show how yo create a new single document for each ss row?
@supportingofficer97454 жыл бұрын
great presentasion, thankyou. how to make a straight point for the end of a sentence?
@maricrisquismundo59894 жыл бұрын
Thank you so much!
@BAGITUTOR6573 жыл бұрын
Hi, please help. Action in google form checklist mail merge checkbox to google docs? I'm sorry. My leanguge difficult. I hope you understand
@bassemkhalifa4 жыл бұрын
I am using a 40-col sheet with several hudred rows. I can't get far past 10 rows before the execution times out. A whopping 6 mins! Is there a way to do this so that replacetext isnt running a factorial search? Like hold body[i] on the side while iterating through data[i]. and then appending all the body[i]s to each other.
@ExcelGoogleSheets4 жыл бұрын
What's your code?
@ezequielpardo62175 жыл бұрын
I used this method to mail merge a report that I am running daily. Is there a way to add a function that will duplicate the google, rename it and open the duplicated Doc?
@dianatriwulan96123 жыл бұрын
I am sorry. Can i ask how to do this if the template is tables in google docs?
@sarahjaeger10172 жыл бұрын
HELP?! Everything worked until the final run. I am getting this message and I am not sure what to do with it. Thank you! 10:55:14 AM Error Too many changes applied before saving document. Please save changes in smaller batches using Document.saveAndClose(), then reopen the document with Document.openById().
@erikt96645 жыл бұрын
Great!! works perfect., it is possible set filters? I mean, if I need merge only the information with "Kansas City" value in the column D. Is that possible?. I thought that with only setting filters to the data it will work, but sadly doesn't :(
@ExcelGoogleSheets5 жыл бұрын
it's possible. Watch my apps script series array methods videos, in particular filter method.