Auto Fill Google Doc Template from Google Sheets Data Using Google Apps Script

Поділитися
Вставка
  • Опубліковано 25 сер 2024
  • In this short video, I show how to auto fill a Google Doc template from Google Sheet data using Google Apps Script. If you just want the code, or want to read along, check out the article on my site: jeffreyeverhar...

КОМЕНТАРІ • 525

  • @brunolanca7401
    @brunolanca7401 2 роки тому +26

    Thank you for the incredible tutorial. It was very easy to follow and helped someone like myself, who had never coded with Apps Scripts, to get a sense of how the language works and be able to personalize my script for my intended application. I've already build off of your script to automate the filling of multiple documents at the clinic I work at, which will dramatically decrease the burden on our doctors and nurses, and allow them overall more time to focus on patient care. Thank you for helping us make that difference!

  • @alfred7861
    @alfred7861 2 роки тому +8

    This tutorial really helped my company save time and mistakes on filling out paperwork. The autofill feature we created with this, and his "Adding Custom Menus" video took some tinkering, but we got it to work, and everyone's delighted at this low cost, low maintenance solution. Thank you Jeff!

    • @jeffeverhart
      @jeffeverhart  3 місяці тому

      Thanks for the kind words and thanks for watching!

  • @moving2fast2
    @moving2fast2 Рік тому +1

    The UI in Google Sheets is slightly updated from when this was recorded, but even with my rudimentary coding knowledge I was able to modify this to work. THANK YOU, this is amazing.

    • @moving2fast2
      @moving2fast2 Рік тому

      ​ @Jeff Everhart out of curiosity, is there a way to use template literals to have the scrip generate a new folder, and store the document in that folder?

    • @moving2fast2
      @moving2fast2 Рік тому

      Update: Yes, there is! I fed the script to ChatGPT and asked if it could modify to generate a new folder. I can share if anyone wants

    • @jeffeverhart
      @jeffeverhart  Рік тому

      Oh wow, that's pretty cool

    • @karinalsaravia-butler4227
      @karinalsaravia-butler4227 5 місяців тому

      @@moving2fast2 Please do share!

  • @csrl3lf
    @csrl3lf 2 роки тому +2

    How come this guy only has 2.2k followers? Doing such a great job sharing this type of content so carefully so anybody just stepping in this would be able to understand?
    thank you So much man!! God bless you!

  • @EcoAku
    @EcoAku Рік тому +1

    That is actually a very good tutorial!
    I first watched a crappy one called "Autofill Google Doc Template from Google Sheets | Google Apps Script" from the channel Outright System... The guy just stole your code, without even giving you credit, and pasted it without any explanation! Some people have no shame and are awful educators, really.
    But thank YOU for the great explanation and time you took to actually teach us!

  • @johnpauljonesgrouptv
    @johnpauljonesgrouptv 2 роки тому

    Thanks Jeff.
    This will come really handy for us.
    1. Data collected through google form.
    2. Data dumps into spreadsheet
    3. Use this script to create a letter for sending out to clients

  • @GreenMushroomForYou
    @GreenMushroomForYou 3 роки тому +8

    This is just what I need! Hopefully I can execute this on my own template, I don’t really understand any programming language but I’ve surviving by copying codes out of tutorials and browsing the net. Thank you so much for sharing your knowledge!

  • @buttercool1240
    @buttercool1240 9 місяців тому

    I just started a role at a new company and docs and sheets are a major part of the workflow. This gives me a great quick way to automate things without standing up a full Python or Node.js application to do it.

  • @jacqualinegrant2892
    @jacqualinegrant2892 2 роки тому

    This script was FANTASTIC! I used it to create a hundred individual data forms from a Google Sheet with nearly 100 individual data points. Thank you!!

  • @afernandezp1
    @afernandezp1 3 роки тому +7

    Thank you so much for this tutorial! It is so much easier to understand and adapt to different situations when you take the time to explain what every line does instead of just importing a pile of code from some website.

  • @ConcernedUser-z6f
    @ConcernedUser-z6f Місяць тому

    This was my first dive into Google Scripts or any code for the matter. And it was a successful one!
    This saved me a lot of hassle and put me on a way of Excel / Sheets skill development and put a lot of ideas into my mind about working with code.
    You are truly a special kind of person for doing this, at least in my life! Thank you very much.

  • @hafthorkristjansson3886
    @hafthorkristjansson3886 8 днів тому

    At this point, I'm honestly more used to your voice on 0.5x speed haha. Again, thanks so much for this tutorial, it has helped my business a lot to automate some of our systems. I'm officially crowning you as the dad of Google Sheets haha!

  • @samsillman9391
    @samsillman9391 2 роки тому +6

    Thank you for a great tutorial. This is going to save me and my husband so much time with filling out legal documents for our real estate business. I am a complete novice when it comes to coding, but this was very easy to follow and understand. The only thing I had a problem with was an error saying that the document was inaccessible. But, I realized that I had been using a .docx (Microsoft Word) document and that google docs didn’t recognize it within the code, even though it could open the file and edit it. Just thought I’d mention that in case anyone else had the same problem.

    • @user-ce5jq2qi3l
      @user-ce5jq2qi3l 2 роки тому

      is it just me or the 'real estate business' part is tmi

    • @gradinitaamicusjunior
      @gradinitaamicusjunior 2 роки тому

      Thank you for the hint about docx, we have tried days to solve this.

  • @bumpersmith
    @bumpersmith 3 роки тому +1

    This is exactly what I was missing in my function..... grabbing the link to the created Doc and posting it back to the spreadsheet. Thanks again.

    • @jeffeverhart
      @jeffeverhart  3 роки тому

      Awesome, glad part of that was helpful to you! Thanks for watching

  • @rubynakka2926
    @rubynakka2926 4 місяці тому +1

    Great video. I have a question though. Your Google app script primarily works for one column and multiple rows in google doc. Can you help us with Google app script where it generates multiple columns and rows table on Google doc using the data that is available on a single row of Google sheet?

  • @thirdinrev8006
    @thirdinrev8006 Рік тому

    You are incredible. I was trying for so many days. I have no coding knowledge but just a determination to solve a problem we had. Thank you!!

  • @kristenevans8474
    @kristenevans8474 Рік тому +1

    You just saved myself and a handful of my colleagues hours of work. THANK YOU for this tutorial!!!

  • @user-ql6vi2ln1k
    @user-ql6vi2ln1k 10 місяців тому +1

    This is brilliant! Any chance you can add the script for when there is a choice of templates to pull on depending on a criteria specified in the form????

  • @allisonk1848
    @allisonk1848 2 роки тому +1

    This was incredibly easy to follow! Thank you so much!
    I have several cells that have formulas that rely on other cells. If the target cells are blank, it returns a "" or blank. This script creates documents for all of these rows. Using your tutorial, I was able to add a line of script that if the first name was blank it moves on!

    • @deepali8939
      @deepali8939 Рік тому

      Hello, Can you let me know if you've found a solution to your problem?

    • @allisonk1848
      @allisonk1848 Рік тому

      I did!

    • @umbrellatec4646
      @umbrellatec4646 Рік тому

      function criarpdf () {
      const ui = SpreadsheetApp.getUi();
      const menu = ui.createMenu('Cria um PDF');
      menu.addItem('Cria um PDF, e Envia para um E-mail', 'CriarEEnviarPDFPorEmail');
      menu.addToUi();
      }
      function CriarEEnviarPDFPorEmail () {
      const googleDocTemplate = DriveApp.getFileById('1Z1rHTPsl0N65oSx7ILrnzDvEhGCmnoMHInAGB0s6Ffk');
      const destinationFolder = DriveApp.getFolderById('1GXbtYSVR5i4LYQWnezY84Hih4liWX4nO');
      const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data');
      const rows = sheet.getDataRange().getValues();

      rows.forEach(function(row, index){
      if (index === 0) return;
      if (row[3] || row[4]) return; // verifica se já há um URL na coluna 4 ou 5
      const copy = googleDocTemplate.makeCopy(`${row[1]}, ${row[0]} Employee Details`, destinationFolder);
      const doc = DocumentApp.openById(copy.getId());
      const body = doc.getBody();
      const friendlyDate = new Date(row[3]).toLocaleDateString();
      // Faz as substituições usando o objeto keyIndexMap
      Object.keys(keyIndexMap).forEach(function(key) {
      body.replaceText(`{{${key}}}`, row[keyIndexMap[key]]);
      });
      doc.saveAndClose();
      const email = row[2];
      const url = doc.getUrl();
      sheet.getRange(index + 1, 4).setValue(url);
      var pdf = DriveApp.getFileById(doc.getId()).getAs(MimeType.PDF);
      GmailApp.sendEmail(email, "New Employee Details Document", "Please find attached your Employee Details Document",
      {attachments: [pdf]});
      });
      }

  • @believeinheroes
    @believeinheroes Рік тому

    Your tutorials are excellent, you do a great job of explaining as you go along. I originally used your prior video, "Auto Fill Google Doc from Google Form Using Google Apps Script," but found on occasion it would fail to generate the doc, without explanation (i.e. someone submits a form, it goes to the spreadsheet, but the doc just doesn't happen.) The method you demo here allowed me to set up a manual workaround for those occurrences.

  • @andestransitllc8050
    @andestransitllc8050 2 роки тому +9

    Thanks for this Jeff. I want the rows of the sheet to populate sections of a single document, not create multiple documents. Which line of code to I delete or modify so that the loop sends the data of each row to the single document?

    • @goon4204
      @goon4204 2 роки тому +3

      Wanted to see if anyone could respond to this awesome question, don’t need to make so many documents.

    • @chickenoncsgo
      @chickenoncsgo Рік тому +1

      instead of trying to do that i think it would be easier to just merge all the documents you create

  • @3sixtysystems
    @3sixtysystems Рік тому +1

    Amazing video !
    Allowed me to create 10 docs for a client that usually takes me 20 minutes each to create.
    Thanks so much Jeff 😍

  • @FrancesNicoleTirado
    @FrancesNicoleTirado 5 місяців тому

    thank you! you really put in the effort to explain everything so that beginners like me can understand the reasoning behind each line and therefore customize the script later on.

  • @propulsetoi
    @propulsetoi 4 дні тому

    That's the best tutorial out there. Thank you so much for all the explications, you're a really good teacher. I wish I could give that video 100 likes!

  • @timstegink642
    @timstegink642 2 роки тому +1

    Is there a way to write this code so that if you add more information to the sheet you can rerun it only for those that do not have a link for a google doc? Thank you!!!

  • @user-rr4st9ew5d
    @user-rr4st9ew5d Рік тому

    You can't goto tools script editor anymore, but you can type script editor in help and when you search it shows apps script editor

  • @hamtsammich
    @hamtsammich 2 роки тому

    They've shuffled some of the buttons around, but this still works like a charm.
    Well done, and good show!

  • @Dundeeyouth
    @Dundeeyouth Рік тому +1

    Hey Jeff,
    Thanks so much for this !
    Out of interest how would i take a cell that has a URL in it and replace a tag in the doc with the image rather than the URL ?

  • @Elmirill
    @Elmirill 3 роки тому +3

    Now when I run the script from the spreadsheet file, I get this exception:
    'Exception: Document is missing (perhaps it was deleted, or you don't have read access?)'
    The script cannot get access to the copied document once it was created because of a lack of permissions.
    Any ideas on how to solve this?
    Thanks!
    UPD: If you'd like to have a spreadsheet as your destination document, use `SpreadsheetApp` instead of `DocumentApp` :)

    • @jeffeverhart
      @jeffeverhart  3 роки тому

      Glad you were able to work through this, and thanks for posting the results for everyone else. Thanks for watching!

  • @CarlCrespo
    @CarlCrespo 2 роки тому

    Thank you SO MUCH!!! It's so hard to find good tutorials on Google App Script.

  • @alissacorace90
    @alissacorace90 2 роки тому

    This was so helpful!! Thank you - I created a merge doc weeks ago and went back to your website to find out about formatting (currency)... and found the answer in you FAQ! Massive help - thank you!

  • @DavidBozinov
    @DavidBozinov 2 роки тому

    You, Are, The, Best! Couple adjustments and it works FLAWLESSLY for my use case!

  • @RandomFacts0.0
    @RandomFacts0.0 Рік тому

    This video is the best! you explained it so well. I needed to add a few more pieces to my code. Having gone into this with no idea how to use AppScript did not matter! This video pointed out to me in the right way to ask my questions online and I was able to get everything to work! Thank you Jeff!

    • @jeffeverhart
      @jeffeverhart  Рік тому

      Awesome, that is great to hear. Cheers -Jeff

  • @user-pe4ey1kr5z
    @user-pe4ey1kr5z 9 місяців тому

    Thank you for the tutorial, it defiantly one I have been able to follow. I keep getting and error on line 16 rows.forEach(function(row, index) and 19 const copy = googleDocTemplate.makeCopy(`${row[1]}, ${row[2]} Employee Details`, destinationFolder);
    That basically says the destination folder does not exist. it was working when we did the logger in the first sets. ... not sure how to resolve.

  • @drdiehard4
    @drdiehard4 9 місяців тому +1

    This absolutely awesome. Thanks for your great tutorial and this is what needed for me.

  • @paufernandez_films
    @paufernandez_films 4 місяці тому

    Thank you so much for sharing this, and for the accurate explanation. It was super usefull to me 3 years after you originally posted it.
    Thanks! :)

  • @katdancer8752
    @katdancer8752 3 роки тому +1

    Thank you so much. Concise, clear and competent instructions! A great contrast to a lot of other help out here. It's helped me sort out a formatting issue for an online form. What I would really love is to email the resulting doc (form submission output file) as a PDF to myself/my colleague. I have not been able to resolve the variable for the output filename... thanks for any help you are able to give.

    • @jeffeverhart
      @jeffeverhart  3 роки тому

      You can find an example of that here: jeffreyeverhart.com/2015/01/30/tech-tip-google-forms-confirmation-email-with-attachments/

  • @russwarren2650
    @russwarren2650 3 роки тому

    Thanks so, so much for this. I'm just dipping my toes into coding and wouldn't have been able to do this sort of thing without your helpful, clear instructions and provision of the template! I made some mistakes in my version of it, but because I was able to rewatch your tutorial, I learned not only what I did wrong, but how to identify where in the code the mistake was made.

    • @jeffeverhart
      @jeffeverhart  3 роки тому

      Awesome, glad this was a helpful resource. Best of luck -JE

  • @flippedpbl
    @flippedpbl 2 роки тому +1

    I keep getting the error: Exception: The parameters (String) don't match the method signature for DocumentApp.Body.replaceText. Any idea what may need to be fixed? I have everything plugged in as you do in the video.

  • @JackieChanning-ue9jy
    @JackieChanning-ue9jy 4 місяці тому

    Thank you; however, I can't seem to get the info to show up in my document. ALL of the fields {{DATA}} have not changed. I copied exactly what you have, but the documents are exactly as I created them (without the Google Sheet data).

  • @user-rz2rj9qi6o
    @user-rz2rj9qi6o 5 місяців тому

    My dates in the google doc are showing one day less than the actual date in the google sheet. Also is there a way to get the date format as MMM-dd-yyyy.Thank you for the tutorial it was really helpful. I am just stuck with the dates part of it. Please help. Thank you

  • @richardthemagician8991
    @richardthemagician8991 10 місяців тому

    I'm curious about is whether or not we actually need to use {to create a tag. Could I just use the first and last name? That might sound like a weird question but my goal is to update there document instead of replacing it. Did a lot of reasons why a person might want to do this. In my case I create Google. Invoices that I send out the clients who then have to share that same URL with 20 different people in order to get me paid. It has happened many times wherever create a new document after an update and I would get paid the wrong amount because the most current URL did not make it up the chain of command.
    From our contacts, here's what I have set up. When I book a client the data comes through form an invoice is created. Upon form submission their data along with the invoice is copied to a second sheet. My thinking is if I update the form response sheet, the data on the second spreadsheet should still match everything on the invoice. I want be able to set the data range on the second sheet as a variable for my tags. If I run my update invoice script, my hope is the script will see the data as the tags on the document we could get by the URL, and then replace those tags with what is currently on the booking for response sheet. To make this easier, we can do one row at a time. I don't need to Loop through the entire. I know I can type in a specific number and save that as a variable in the script, so it would only go through that one row.
    Is what I'm saying making any sense? Does this sound feasible?

  • @elizabethmcmahon9794
    @elizabethmcmahon9794 2 роки тому +1

    Thank you for this resource! This may be a silly question - This is my first attempt at exploring apps script or coding. Can I do this for just one row of data at a time? My spreadsheet is form responses and some of them require a template checklist of next steps for the team, but not all. It's constantly collecting responses. I do have a column that records whether or not a template needs to be generated.

  • @andyspets
    @andyspets 2 роки тому

    Excellent class, we added an extra menu item and function for that item on the menu. Thank you so much, it was such a pleasure to learning with you.

  • @billgram-reefer6504
    @billgram-reefer6504 8 місяців тому

    This is somethig I need for my classroom to generate a home detention doc that generates a form for parents re student last first period date/time, and behavior from a pull down list (will this work if the cell is a list of behaviors?). Also how could one create a script that will generate the same information twice on one page so there can be an English and Spanish on one doc one page or two page to be printed 2-sided.

  • @AlberichRheinmann
    @AlberichRheinmann 7 місяців тому

    Hi Jeff, very well done ... and it helped me a lot. But i have another issue ... ( e.g. an Invoice with header informations and then a table with the invoice items )
    In my template the items are in a table ... and this is where the problem starts. How can i fill in a loop item for item in the docs template ( items in a table ) ... All over the net i found no solution ... 😢

  • @adultsplaysports
    @adultsplaysports Рік тому

    I am getting this when I try to run: Script function not found: createNewGoogleDocs. I've refreshed and tried to run again but still get this. No error popped up in the script when I ran it so got excited and now got this. Any ideas? Thank you SO much for this tutorial.

  • @pettykingdgreat
    @pettykingdgreat 3 роки тому +1

    Thank you so much for taking the time with these tutorials. Very straight to the point and an easy steps. It's really helping me a lot with my business automations! THANK YOU!

  • @velezmusic4350
    @velezmusic4350 9 місяців тому

    Can a variable placeholder go in the title of the document?

  • @user-ix7tu7xe7g
    @user-ix7tu7xe7g Рік тому

    Excellent tutorial for sheets to docs. Do you have a tutorial for sheets to slides? I thought I could replace the "docs" Apps with "slides" Apps but didn't work. This is the first time using Google Apps Script. thanks

  • @shamnarvekar4664
    @shamnarvekar4664 9 місяців тому

    Do not execute script if cell range contains null values?

  • @thecodfather7109
    @thecodfather7109 2 роки тому +9

    You Legend, thank you dude!

  • @adammPG
    @adammPG Рік тому

    This is such a great tool! I have managed to get this working for a couple of uses however I was wondering a few things:
    1. Is it possible to convert an email address that is within Google Workspace to their name?
    2. Is it possible to save the document to PDF instead of a editable document?

  • @thehomeworkdad
    @thehomeworkdad Рік тому

    How would take this same concept and instead of creating new documents for each employee you were to instead create a single document with each page being a copy of the template with the data. Ultimately the same thing you did but with all the pages merged together into a single document?

  • @travelcosmos
    @travelcosmos Рік тому

    Hi there. This is great. However, even though I get the documents generated, the fields though in the google docs are not populated with the data. I would appreciate any help. Thanks

  • @stonec8238
    @stonec8238 6 місяців тому

    Thank you for the great tutorial. I was wondering if it is possible to have the filled Docs merge into a single Doc, rather a separate doc for each employee. Thanks

  • @andreafiliatrault5455
    @andreafiliatrault5455 Рік тому +1

    I have an issue. rows.forEach --> when I try to execute it says Rows is not defined. The data is not being returned as an Array so I cannot use the .forEach. ? Make sense?

  • @robshepart
    @robshepart 2 роки тому

    This is AMAZING. not only do i understand the what, but I also understand the why. You are a great instructor.

  • @rebeccareighard4572
    @rebeccareighard4572 3 роки тому

    Thank you so much for the video! I have never coded anything before, and I was able to follow your steps and create a huge time-saver for our school's secretary. I appreciated how you explained everything so clearly - it really helped me understand what I was doing and also helped me find mistakes when the errors popped up. :)

    • @jeffeverhart
      @jeffeverhart  3 роки тому

      Thanks for the kind words! Glad it helped you out and got you started.

  • @fudlfadel
    @fudlfadel 3 роки тому +4

    Hi Jeff, thanks for such wholesome content! Id just like to ask for my case, I have a table template in Google doc, and I want to insert a new row automatically once there are 2 products or more, how can I do it, please? Any help will be much appreciated, thanks in advance!

  • @jrarmartin
    @jrarmartin 9 місяців тому

    Hi Jeff,
    I have run into an issue with the body.replaceText code. It works perfectly to a certain point and then stops for the middle of the document, then finishes correctly for the end of the document. I've double checked that I wrote it the same and I really have no background of writing code , this is my first attempt! Any tips?

  • @affiliateme7414
    @affiliateme7414 Рік тому

    why is it that not all forms have curly brackets (or anything) and do the same thing

  • @AH-zy2df
    @AH-zy2df 2 роки тому

    Amazing tutorial! You made this so simple to follow and understand. This will save me an unbelievable amount of time creating ICAs. Thank you so much.

  • @raamsrinivas7662
    @raamsrinivas7662 2 роки тому

    Brother, i have no words to explain my joy. You just saved me a lot of time 😘😘😘
    Wherever you are i wish you all the love and joy in your life 😭😭

  • @carlapenders2395
    @carlapenders2395 3 роки тому

    Best code I found to perform this function! Elegant, to the point and handles spreadsheets with hundreds of rows (the known google bug issue notwithstanding). Thank you so much :D

    • @jeffeverhart
      @jeffeverhart  3 роки тому

      Thanks for the kind words and thanks for watching _ JE

  • @onlyyapple
    @onlyyapple 3 роки тому +2

    Hey, thanks for the amazing Content! I got a question, i am trying to change the destination folder to 5 diffrent folders depending on the Text that is in cell 1 - so if cell 1 says "John" then i want the File to be created in the FOlder "Documents John" if the Cell says "Lisa" hen i want the File to be created in the Folder "Documents Lisa". i got 5 Names in Total - so 5 Folders in Total. I guess i need to do it with an "if" statement, but i dont get it to work..

  • @ksowjanya4488
    @ksowjanya4488 2 роки тому

    can any please help me with this question
    if i enter 12+13+14 in google forms and retrieve this data to sheets how can i expect a result in sheets?

  • @bhavloves
    @bhavloves 8 місяців тому

    Do these scripts come with security issues? Like the personal data stored in them, etc.?

  • @KodyKimani
    @KodyKimani Рік тому

    so does it call a column a row.... this is amazing

  • @monteabaok1621
    @monteabaok1621 2 роки тому

    Thanks you Mr for the video tutorial, but how automatic fill to template doc if data cell in google sheet as url link from qrcode, thanks

  • @pepeshrinu
    @pepeshrinu Рік тому

    Great video! simpel and to the point. One question, what if I have a chunk of text and tables in my template, and I want to make it appear or dissappear in the output doc based on a clickbox in the sheets docs. How would I do that? I have a template with descriptions for different services, but I need that segment of text/tables only if the service is procured. So I want to have a list of services in sheets, click on the ones the customer procures.

  • @MrJoaoluizcoelho
    @MrJoaoluizcoelho 3 роки тому +1

    Absolutely fantastic video, thank you so much! I just have one question. I have hyperlinks in one column of my spreadsheet, how can I put those in the document? I tried doing it just like your tutorial, but it replaces only the text, not its formatting (i.e. hyperlinks). Is there a workaround?

  • @user-zz4jo1ui4c
    @user-zz4jo1ui4c 3 роки тому

    You just saved a whole lot of time to lots of people including me, brilliant tutorial!

  • @brandonpixel
    @brandonpixel 3 місяці тому

    Hi Jeff! Thank you for this. I'm looking to import "in-line" text into a Google Doc from a Google Sheet? I think this is really a close way to do it. I'm trying to make a report like this: You webpage got X,XXX visits this month and we posted X,XXX pieces of content. This would pull from a Google Sheet with all that information, but would also be able to tell which month it's in so it would update monthly. Could I use this script to do that or would it need to be different? I don't need to creat new documents, just update the one document from multiple already created Spreadsheets. Thanks for the resource!

  • @jakekuykendall
    @jakekuykendall 2 роки тому

    this is awesome and very easy to follow. what a gap in googles suite of products that you've solved without any external apps to add in. thanks again!!

  • @yanethhuertas6945
    @yanethhuertas6945 Рік тому

    hello, I want to program an image that is uploaded from a Google form, and that is seen in a Google document spreadsheet, the URL is hosted in the spreadsheet, of form responses, how can I do it?

  • @daviddiasmagalhaes
    @daviddiasmagalhaes 2 роки тому +2

    Hi Jeff, amazing video and great teaching skills. I was wondering if instead of creating google docs we are able to create PDFs named with a field and saved them to a google shared drive?

  • @ecl1889
    @ecl1889 3 роки тому +2

    This is amazing!! Thank a million. just one question, how can i have the document URL to be a 'hyperlink' instead of the long url?

  • @CalisKurt
    @CalisKurt 2 роки тому

    In my case only the name of each individual documents gets a different name, but the strings in the document with a {{}} don't change at all, where do I have to look

  • @joaojarczewski
    @joaojarczewski Рік тому

    Does anyone know how do I replace fields that are in the next section?

  • @user-jo7xl4zn7t
    @user-jo7xl4zn7t Рік тому

    I want to ask, why does mine always have double URLs in the spreadsheet?

  • @movewithcouragecoaching114
    @movewithcouragecoaching114 2 місяці тому

    Walking through this very slowly thank you! How do you only get a range of the data, instead of the whole sheet?

    • @ConcernedUser-z6f
      @ConcernedUser-z6f Місяць тому

      tried googling this for you and found a stackoverflow article, search this:
      differences-between-getrange-getdatarange-and-getactiverange
      here's part of the answer:
      "
      getRange() has multiple implementations.
      Sheet.getRange(row, column)
      Sheet.getRange(row, column, numRows)
      Sheet.getRange(row, column, numRows, numColumns)
      Sheet.getRange(a1notation)
      "
      So you'd have to play around with the getRange parameters in your code, to select a part of the range instead of it all.

  • @TienNguyen-kp1wy
    @TienNguyen-kp1wy 9 місяців тому

    Still lots of help until now tks so much !!!

  • @dianabdiashari
    @dianabdiashari 2 роки тому

    Thanks, Very Helpfull. How ta make the function run Automatic when adding new data in sheet?

  • @KieranDoyle
    @KieranDoyle 3 роки тому

    Jeff, thanks so much for the tutorial. Each step is explained extremely well. I just used it to automate creating invoices for my freelance work.

    • @jeffeverhart
      @jeffeverhart  3 роки тому

      Great use of the script, best of luck - JE

  • @ScottIrvin-CDPHE
    @ScottIrvin-CDPHE Рік тому

    I keep running the script and it creates a good document but then it keeps running the script over and over with new blank rows and continues until the script runs out of time. How do I stop the script from running after it completes the first row? is it because I have formulas in the rows below?

  • @aliemrah9396
    @aliemrah9396 5 місяців тому

    Hi, this is a great video and helped me a lot. I just wonder if I can save this file as pdf by keeping all the rest same? Thanks in advance! 😊

  • @tatumhopper883
    @tatumhopper883 2 роки тому

    I cannot get the Menu item to populate- Google sheets updated in fall 2021 so under tools there is not an option for Script Editor, I have typed the code in Apps Script but cannot get it to run with my spreadsheet. Any advice?

  • @leymanbarber9654
    @leymanbarber9654 2 роки тому

    Our finance department has a Google Doc Template for adding new items to our inventory system and I was wondering if there was a way to populate a table in the Template with data from a spreadsheet. Using replaceText I was able to populate the first row but I am not able to get the data in the 2nd row of the spreadsheet to populate in the 2nd row of the table in the Doc template, no mater what I try the first row is all that is returned. Please any help is greatly appreciated.

  • @ranbircalay599
    @ranbircalay599 2 роки тому

    I have a column of times but when I have the script it pumps out "Sat Dec 30 1899 12:30:00 GMT+0000 (Greenwich Mean Time)". The only value in the cell was the time in automatic format. These times are submitted via the google form's time entry. Is there any script to make it display time in a user friendly way, and ignores all this extra fluff that never showed up in the google sheet in the first place.

  •  11 місяців тому

    What a great tutorial for someone new to Apps Script like me. I also did the same and made a few customizations in the data table. The problem I encounter here is that the code creates Document files from lines without data. So how to prevent this? Help me.

    •  11 місяців тому

      function onOpen() {
      const ui = SpreadsheetApp.getUi();
      const menu = ui.createMenu('Biên bản');
      menu.addItem('Tạo biên bản mới', 'createNewGoogleDocs');
      menu.addToUi();
      }

      function createNewGoogleDocs() {
      const googleDocTemplate = DriveApp.getFileById('1gV1i9hld0OoL6zZ9Q8NgbCKG0iKncDWS-3WlwRZ9q7U');

      const destinationFolder = DriveApp.getFolderById('1wpscak7AvL9RY68-LUhO8mKl1ZqP_J09')
      const sheet = SpreadsheetApp
      .getActiveSpreadsheet()
      .getSheetByName('BB kiểm tra')

      const rows = sheet.getDataRange().getValues();

      rows.forEach(function(row, index){
      if (index === 0) return;
      if (row[15]) return;
      const copy = googleDocTemplate.makeCopy(`${row[1]}, ${row[14]}` , destinationFolder)
      const doc = DocumentApp.openById(copy.getId())
      const body = doc.getBody();
      const friendlyDate = new Date(row[14]).toLocaleDateString();

      body.replaceText('{{ProjectName}}', row[1]);
      body.replaceText('{{Construction}}', row[3]);
      body.replaceText('{{Supervision_Consultant}}', row[4]);
      body.replaceText('{{StartDay}}', row[5]);
      body.replaceText('{{FinishDay}}', row[6]);
      body.replaceText('{{Fulltime}}', row[13]);
      body.replaceText('{{Check_Day}}', row[14]);
      body.replaceText('{{ConstructionPeriod}}', row[7]);
      body.replaceText('{{Progress}}', row[8]);
      body.replaceText('{{Secure_Traffic}}', row[11]);
      body.replaceText('{{Work_Safety}}', row[9]);
      body.replaceText('{{Environmental_Sanitation}}', row[10]);
      body.replaceText('{{Project_Information_Board}}', row[12]);

      doc.saveAndClose();
      const url = doc.getUrl();
      sheet.getRange(index + 1, 16).setValue(url)

      })
      }

  • @Vidman1981
    @Vidman1981 Рік тому

    Great Video! i did have a question. I want to implement this to an inventory / equipment maintenance system. Will this auto update the Google Docs with information when its changed in the spreadsheet? if not, is there a way to do so?

  • @giselegoldstein4712
    @giselegoldstein4712 2 роки тому +1

    Hi Jeff, this is a fantastic tutorial. It worked flawlessly for me. Thank you. I do have an issue that is not covered. A few of my data area hyperlinks. Is there a why to copy the 'format' to docs, so that they appear as a link in the new document that is being generated? Sorry if it has already beeing asked, could not find it.

    • @thecjigroup5583
      @thecjigroup5583 2 роки тому

      Hi Gisele! Facing the same situation here! Did you manage to find a solution? Thankssss!

  • @v2technical82
    @v2technical82 2 роки тому

    sir tell me about the topics
    auto fill google sheets template with the responses sheets
    please upload the video in this topics

  • @muhammadsaepurrohman8425
    @muhammadsaepurrohman8425 3 роки тому

    your tutorial is very helpful to me, thanks for it. but if run twice or more it will be double/ add more files in my folder not to replace existing files. how to remove or replace the existing files without doing manually remove on my drive.

  • @marionharrison2792
    @marionharrison2792 2 роки тому +3

    Great tutorial and really easy to follow. Helps solve a problem I've been having 🙂
    Is there coding that could be used to also automatically share (view only) the resulting doc with someone in domain if their email address was also a field in the sheet?

  • @Redsonja77
    @Redsonja77 7 місяців тому

    Thank you very much for your hard work, even when I don't know programming, I love this is easy to understand. I did it for some documents a friend needed and it worked!! We will just adjust some stuff, but the initial run was a total SUCCESS!! XD

  • @NinoValTyroneTYoung
    @NinoValTyroneTYoung 2 роки тому

    I generated QR code from sheet, and I want it to appear also in the docs, it appears that QR code is set as image cannot be displayed.

  • @adrc-cw
    @adrc-cw 2 роки тому

    rows.forEach is coming back as an error that it is not a function. How can I fix that?

  • @petervelto6728
    @petervelto6728 Рік тому

    Thanks for the tutorial. It was very informative and easy to follow.... I copied all and followed each and every step as instructed in the video...yet... after executing AutoFillDoc in the Sheet the following pop up appears: "TypeError: Cannot read properties of null (reading 'getDataRange')" Any idea where the culprit is?