Тёмный

Mail Merge Google Sheets to Google Docs - No Addons - Apps Script Tutorial 

Learn Google Sheets & Excel Spreadsheets
Подписаться 274 тыс.
Просмотров 163 тыс.
50% 1

Learn how to do mail merge from Google Sheets to Google Docs using Apps Script.
#mailmerge #googledocs #googelsheets #tutorial

Опубликовано:

 

5 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 277   
@RalfSiegesmund
@RalfSiegesmund 4 года назад
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!!!
@overnesss
@overnesss 5 лет назад
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.
@mpolek
@mpolek 3 года назад
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!
@jesse6327
@jesse6327 3 года назад
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!!
@rachaellynn70
@rachaellynn70 4 года назад
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!
@philipmeese6501
@philipmeese6501 4 года назад
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!
@TheKnightrunners
@TheKnightrunners 3 года назад
Thanks. I lost MS office during an Apple upgrade. This is a big help for getting the Christmas mail out!
@good3608
@good3608 5 лет назад
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.
@gorkasanz1617
@gorkasanz1617 3 года назад
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
@santosahernandezmendoza7147
@santosahernandezmendoza7147 5 лет назад
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.
@BrookeAdamsnationwide
@BrookeAdamsnationwide 4 года назад
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!!
@allisonrosdahl
@allisonrosdahl 3 года назад
thank you so much! this helped me not have to write out all of my christmas card addresses!
@glenntrewitt
@glenntrewitt 4 года назад
This worked well for me. Not for non-programmers, and my doc was simple.
@kokomalt
@kokomalt 4 года назад
The tutorial was great and it can be followed easily, thank you for making it!
@XoBebeMore
@XoBebeMore 4 года назад
This was a very great video!! Took some time but I mastered it and saved my company some money!!!
@erinalilith7962
@erinalilith7962 5 лет назад
Hi, thank you for this great video.. You basically saved me from a huge headache
@ConstantDylan
@ConstantDylan 3 года назад
Dude, this is amazing and so helpful. You're a champ!
@sangredecristoseminary
@sangredecristoseminary 5 лет назад
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?
@restorationchurch1509
@restorationchurch1509 4 года назад
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.
@ExcelGoogleSheets
@ExcelGoogleSheets 4 года назад
script.google.com/home
@jakenaylor
@jakenaylor 4 года назад
This is an amazing video. Keen to check out some more of your videos! Cheers. :D
@seattlebliss3178
@seattlebliss3178 3 года назад
Thanks for this very helpful tutorial. Works beautifully for my application!
@nwdani2195
@nwdani2195 5 лет назад
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
@marcelcharest7662
@marcelcharest7662 3 года назад
Your're the beat. Thanks from Montréal
@richardsunshine8676
@richardsunshine8676 5 лет назад
Your videos are always great, and I use them extensively. How do you create individual Emails with the appropriate attachment for each recipient?
@amandawilliams3979
@amandawilliams3979 3 года назад
I FREAKING LOVE YOU!!! THANK YOU!
@templerodgers7687
@templerodgers7687 6 месяцев назад
superb! just what I was looking for! Thank you
@sixzeroes5226
@sixzeroes5226 8 месяцев назад
Great tutorial - I was able free up time spent on a redundant task. Thanks!
@mrskbela
@mrskbela 4 года назад
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?
@austinhomolka
@austinhomolka 4 года назад
So helpful, thank you for putting out this content!
@mioked
@mioked 5 лет назад
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?
@studentregistration9708
@studentregistration9708 4 года назад
This was awesome, thanks! How do I carry over a table, and could I instead of doing a page break do separate PDFs?
@angelobergomi5869
@angelobergomi5869 4 года назад
Awesome ! Thanks a lot ! All positive thoughts about your work I would like to share has allready been written below...
@scottgraves5349
@scottgraves5349 5 лет назад
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?
@kimjacobs8387
@kimjacobs8387 3 года назад
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..
@migueldemaria3830
@migueldemaria3830 4 года назад
That's a very helpful vid, thanks a lot!
@JimSlaughterOC
@JimSlaughterOC 4 года назад
Thanks very much. Great presentation.
@adoleh
@adoleh 3 года назад
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.
@TerriEynon
@TerriEynon 2 года назад
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.
@ferialhamid2913
@ferialhamid2913 4 года назад
Great, Thanks for the tutorial.. It's helps a lot.
@jimmywebb7269
@jimmywebb7269 3 года назад
Really enjoyed the tutorial; Help me tremedously
@kamalhm-dev
@kamalhm-dev 5 лет назад
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
@rafaelwendel1400
@rafaelwendel1400 5 лет назад
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
@mohsenghafari7652
@mohsenghafari7652 3 года назад
same....
@mohsenghafari7652
@mohsenghafari7652 3 года назад
@@rafaelwendel1400 please more explain . tanks
@Izedyn17
@Izedyn17 3 года назад
Thank you so much for this
@govindugale
@govindugale 5 лет назад
thank you sir.. very usefully video..!
@Korelucian
@Korelucian 3 года назад
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
@pjotrpottervogel1990
@pjotrpottervogel1990 2 года назад
thank you very much, sir! your tutorial made it possible i can generate my 7d2d mod almost automatic WITHOUT TYPOS!!! hell, yeah! ^^
@emmaoben4436
@emmaoben4436 16 дней назад
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!
@mhilmanad
@mhilmanad Год назад
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
@izharjafri1197
@izharjafri1197 5 лет назад
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
@codobyte
@codobyte 3 года назад
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?
@kacheongman2717
@kacheongman2717 3 года назад
love your video. Would you like to covered how to mail merge a table in template?
@maricrisquismundo5989
@maricrisquismundo5989 4 года назад
Thank you so much!
@BillHeffelfinger
@BillHeffelfinger 3 месяца назад
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!
@bestlocaldeals1742
@bestlocaldeals1742 2 года назад
Thanks! Very helpful.
@ExcelGoogleSheets
@ExcelGoogleSheets 2 года назад
Glad it was helpful!
@gogoulor
@gogoulor 5 лет назад
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.
@shinichi0noT
@shinichi0noT 4 года назад
Have you figured it out?
@Jocadiabo
@Jocadiabo 4 года назад
Thank you!
@alexanderbtodorov
@alexanderbtodorov 3 года назад
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?
@nestorpagoaga2756
@nestorpagoaga2756 3 года назад
Thank for all. great video. but can we do it with some image in the sheet base? maybe in one column we have image that we want to changed in the docs so i can send in a email with the fuction replace in append paragraph or replace with hmtl ?
@tonybell9201
@tonybell9201 4 года назад
But what if you want to copy boxes and images as well? I get an error when it hit those.
@mirfanalfian8313
@mirfanalfian8313 2 года назад
Thank you very much for the video, it help me a lot for my work.
@ExcelGoogleSheets
@ExcelGoogleSheets 2 года назад
Glad to hear that!
@holyboundary
@holyboundary 5 лет назад
Great!!
@dfpdesignforpeace2945
@dfpdesignforpeace2945 3 года назад
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?
@jesuseduardobittersuarez7517
@jesuseduardobittersuarez7517 3 года назад
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?
@comblee9968
@comblee9968 4 года назад
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?
@thebestbyme
@thebestbyme 3 года назад
merci beaucoup bro !!! t'es un vrai crack
@tinman.12
@tinman.12 4 года назад
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)
@krzysztofszeremeta2609
@krzysztofszeremeta2609 4 года назад
Dear. What use this solution for use with postage stamp from pdf list file with image? Poland Post (Envelo)?
@mahimanasa1
@mahimanasa1 5 лет назад
It's a nice classes.. I wanna learn one thing, in the nail merge how to print the sheets instead of creating the documents.. in the MS office it is available, but in Google sheet we have this limitations. Pls kindly assist
@ezequielpardo6217
@ezequielpardo6217 5 лет назад
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?
@roycerowan9725
@roycerowan9725 4 года назад
How would I use this to update multiple documents at one time? Each row would be mapped to its own google doc. Thanks
@alexzhang5816
@alexzhang5816 5 лет назад
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
@jkevinAH
@jkevinAH 3 года назад
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.
@CHETANSOMASHEKAR
@CHETANSOMASHEKAR 5 лет назад
How to put a table in google doc template and send data from google sheets to doc table?
@Lassereinhardt1
@Lassereinhardt1 4 года назад
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
@HuyNguyen-ne2ty
@HuyNguyen-ne2ty 4 года назад
Thank for video, but my table in result is as paragraph (does not have column). how to resolve this?
@sarfarazm5568
@sarfarazm5568 5 лет назад
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
@genrmx
@genrmx 5 лет назад
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]
@radhakrishnarao2485
@radhakrishnarao2485 2 года назад
I am trying to do the same but with a background image in the template Doc. It throws the error service unavilable. How can i merge docs with background images?
@dylandrake887
@dylandrake887 4 года назад
Any idea why it's creating an extra copy of the template along with the "merged" version?
@justinwright7788
@justinwright7788 2 года назад
Was this ever figured out?
@bassemkhalifa
@bassemkhalifa 4 года назад
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.
@ExcelGoogleSheets
@ExcelGoogleSheets 4 года назад
What's your code?
@SiskOZ
@SiskOZ 2 года назад
when i merge the docs that have an image i get CellImage instead of the image. what am i doing wrong?
@paulloup5210
@paulloup5210 5 лет назад
Thank you for the video! I
@fiwaboarding6995
@fiwaboarding6995 5 лет назад
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
@GaryRowe63
@GaryRowe63 3 года назад
How can I get the script to add a new line and quoted text into the Doc?
@davidaxelrad8684
@davidaxelrad8684 4 года назад
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?
@sandersontestprep8738
@sandersontestprep8738 5 лет назад
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?
@mikebeatonmusic
@mikebeatonmusic 5 лет назад
Is there a way to do this but create separate google docs?
@jackboswell6330
@jackboswell6330 4 года назад
Top job
@julianmartin4582
@julianmartin4582 5 лет назад
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!
@DarrynGordon
@DarrynGordon 4 года назад
I had a similar problem. You probably aren't passing in the correct number of parameters as per the function declaration.
@classicguy7813
@classicguy7813 4 года назад
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
@govtmiddleschoolbodla2535
@govtmiddleschoolbodla2535 Год назад
can we add images in cells and display in generated pdfs.?
@mr_k4tz
@mr_k4tz 4 года назад
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.laluyan
@rj.laluyan 3 года назад
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).
@muharmensuari1955
@muharmensuari1955 4 года назад
why error when I add listittem Exception: The parameters (DocumentApp.ListItem) don't match the method signature for DocumentApp.Body.appendParagraph.
@guruslakkimar12
@guruslakkimar12 4 года назад
Yes - i am facing the same issue - did you rectification ! any solutions available ?
@corvandooren2248
@corvandooren2248 3 года назад
@@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; }
@abdulhamidalfani
@abdulhamidalfani 4 года назад
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
@phoenixfeather2053
@phoenixfeather2053 9 месяцев назад
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!!
@TheOneLifeRider
@TheOneLifeRider 6 месяцев назад
have you found a solution?
@sylvazhang9022
@sylvazhang9022 4 года назад
Google Docs currently won't support envelope sizes, so I made a template in Presentations which is A7. Any way I could do a mail merge from Sheets to Presentations?
@ExcelGoogleSheets
@ExcelGoogleSheets 4 года назад
The short answer is Yes.
@CIKGURAFI
@CIKGURAFI 3 года назад
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..
@dianatriwulan9612
@dianatriwulan9612 3 года назад
I am sorry. Can i ask how to do this if the template is tables in google docs?
@TheCsillag666
@TheCsillag666 4 года назад
Could you tell me whats happening if i put a table in the template? The script sees that as a paragraph too, so its not like at the ListItem. How can i make work this template with a table in the doc?
@ExcelGoogleSheets
@ExcelGoogleSheets 4 года назад
There is no one answer, it depends on what's in the table.
@phoenixr5619
@phoenixr5619 4 года назад
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??
@michaelwood9967
@michaelwood9967 2 года назад
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!
@corriewells4309
@corriewells4309 4 года назад
When I copy and paste the function it no longer works. Any tips?
Далее
Google Sheets Mail Merge - Email - No Addons - Tutorial
33:17
СМОТРИМ YOUTUBE В МАЙНКРАФТЕ
00:34
Просмотров 799 тыс.
Иран и Израиль. Вот и всё
19:43
Просмотров 1,2 млн
Google Docs Advanced Tutorial
1:34:03
Просмотров 97 тыс.
Google Apps Script Tutorial for Beginners
23:54
Просмотров 371 тыс.