How do you send an email if there is no email column on the spreadsheet? I have the setting set to verified, not user input - to make it easier for the person filling in the form, but this seems to make retrieving the email more difficult within the apps script
@mattbrigidi2 күн бұрын
is there a place where the email exists? and can it be joined to the user input?
@hydronicrocker2 күн бұрын
Not where I could see. It seems using the verified method instead of user input makes it unable to detect the email address despite it technically being part of the submission on the Google forms end. I ended up adding the field and managed to get it to work. I was just trying to create less friction for the user when completing the form by using the verified method instead. Ah well..
@hydronicrocker2 күн бұрын
Just realized I replied with a different KZbin account. I'm the same person! 😂
@frankieS27279 күн бұрын
Amazing video! Thank you! One note to benefit the community, regarding minute 50:18, Flavor /"Lattice": From chatGPT 🙏: 1. Lattice Method ("lattice"): How It Works: The lattice method works by looking for lines in the PDF that form the boundaries of tables. It searches for the structure of tables by identifying the lines that make up the rows and columns. This is effective when the tables in the PDF have clear borders or gridlines, as it can accurately detect the cells within the table. Best Used For: PDFs where tables are well-defined with visible lines or borders. Default Choice: The lattice method is the default because it's generally more reliable for extracting tables that are neatly formatted with gridlines. 2. Stream Method ("stream"): How It Works: The stream method, on the other hand, doesn't rely on borders or gridlines. Instead, it looks for text that is aligned in a tabular format. It tries to infer the table structure based on the relative positions of the text in the PDF. This method can be useful when the tables don't have clear borders but still have a consistent layout. Best Used For: PDFs where tables are not clearly defined with lines but are instead organized with spacing or alignment. Why Choose One Over the Other? Lattice: Use this when your PDF has tables with clear, visible lines or borders. It is often more accurate for these types of documents. Stream: Use this when your PDF has tables without clear borders, relying more on the alignment of text.
@kernfamTV10 күн бұрын
Thank you for this video, Matt. I watched the entire thing and was able to generally understand. The only concern/help I have is that I thought this script would copy all tabs in addition to the working tab. Is there an easy way to add that into the script such that the new workbook created also includes the other tabs in the original workbook? Thanks again!
@achmdalfy715711 күн бұрын
The function already delete by default sir, are any other way sir?
@charlynaira11 күн бұрын
Perfeito! excelente aula. Parabéns.
@abhijeetburagohain803412 күн бұрын
Great video, learned a lot. Thank you Have a question: Can we create documents with tables, separated by a line?
@IronMan-su6oo18 күн бұрын
for line 45 of the code, I got the error message "Exception: The sheet name cannot be empty." any idea why?
@mattbrigidi17 күн бұрын
I'd be happy to review your code. It's a little difficult to isolate an error without being able to see the scripting in context. feel free to send me an email (it's in the About section of my channel). I'm on vacation right now but I'll check it out once I get the chance
@amctubagirl22 күн бұрын
Thank you for this video. I also had the same error as some above. TypeError: Cannot read properties of null (reading 'getSheets') getSheetById @ getSheetById.gs.gs:7 main @ Code.gs:4 I copied your code so not sure what I am doing wrong. I tried to find your email in the about section but I must be blind. haha Did anyone else figure out this error?
@mattbrigidi22 күн бұрын
hi - did you find my email? i received a question just like this today. i just want to make sure i’ve responded to you!
@DustinLambert-x2e25 күн бұрын
I get all the way to the end, it's running properly, testing comes back as it should, but then when I delete the "catch" from line 22 it doesn't execute as it should, I have started over from start to finish 4 times now and still the same result. Any tips on what I could be missing? This video was so helpful and just what I am looking for but I am struggling to get it to do right!
@mattbrigidi24 күн бұрын
i’m sorry to hear you’re blocked. feel free to email me and i can review your code
@DustinLambert-x2e22 күн бұрын
@@mattbrigidi how do I find your email?
@niknakstoeАй бұрын
Hi! This is a very helpful video. Can you help me figure out how to send a static image in Google drive to slack via appscript?
@mattbrigidi25 күн бұрын
I'm glad you found the video helpful! I have a video series on Slack, which you can find on my channel page. However, I'm not aware of how to make a private image from Google Drive in Slack. I'm only aware of how to use an image using a URL, like so: app.slack.com/block-kit-builder/T06JXCU4MFH#%7B%22blocks%22:%5B%7B%22type%22:%22image%22,%22image_url%22:%22assets3.thrillist.com/v1/image/1682388/size/tl-horizontal_main.jpg%22,%22alt_text%22:%22delicious%20tacos%22%7D%5D%7D
@niknakstoe25 күн бұрын
@@mattbrigidi yeah I went to a rabbit hole trying to do this. I think the only way to do this is to create a slackbot with file write and read privileges and use the files.upload API which has recently replace by a more complex way of doing it. I gave up after 2 days of trying to figure it out. Lol. Thanks for replying! I appreciate it
@mattbrigidi25 күн бұрын
@@niknakstoe i’ll see what i can see bc this would be a cool thing to know how to do. my wife and i are expecting our first child in september so im a little tight on time! but if i find anything out i’ll be sure to update this thread
@niknakstoe25 күн бұрын
@@mattbrigidi thanks man! And congratulations on your first child! 🥳
@niknakstoe16 күн бұрын
I figured this out. :) sourced from a file in Google drive
@greencattedАй бұрын
Very clear and easy to follow! Thank you!
@mattbrigidiАй бұрын
i’m glad to hear it!
@fittolast2647Ай бұрын
Good morning! Thank you for this amazing video. I've been able to run the code with two issues: 1. I need to run it repeatedly to get all the workbooks to be created (I've only got a small data set that I'm working with) 2. Like Samantha below, only the headers are appearing in the workbooks. Any suggestions? I'll look at the code and video as it relates to identifying the source data, but if you have any suggestions in the interim I'd be grateful. Thank you again!
@mattbrigidiАй бұрын
sorry to hear you’re having some issues - i’ll take a look at this once i have a chance to get back to my computer. would you like to email me your file? i’d be happy to review your code
@fittolast2647Ай бұрын
@@mattbrigidi thank you for getting back to me. I've emailed you the workbook creator workbook, as well as the source data workbook I've been using. I look forward to hearing from you, and thanks for your help.
@fittolast2647Ай бұрын
Apologies - just found the problem! I'll keep plugging on!
@mattbrigidiАй бұрын
no need to apologize! glad to hear you’re working through it
@fittolast2647Ай бұрын
Good afternoon, Thank you so much for this video series. I've tried this video 6 twice, but each time I keep getting the following error message: ReferenceError: sheetname is not defined getSheetById @ getSheetById.gs:11 dataExtractor @ dataExtractor.gs:2 main @ Code.gs:10 I'm not sure what I'm missing, and as this is at the outer edges of my comfort zone I'm not sure where to look :-) Any suggestions would be greatly appreciated.
@mattbrigidiАй бұрын
sorry this comment was held for review so i’m just seeing this. you had a comment where you said you figured something out - is this the thing you figured out? if it’s still a problem then i’d be happy to help
@doanhoangduyАй бұрын
It's so amazing and interesting with your serie of videos. Could you please give us a video that we want to send email (Google email) to every response recipient with their separate chart and data (Google sheet). Many thanks.
@mattbrigidiАй бұрын
thanks for the kind words! i’m in the process of finishing a new series but will circle back to this. my wife and i are expecting our first child soon, so my time is a bit crunched! but i will gladly work on this if i have the chance
@doanhoangduyАй бұрын
@@mattbrigidi Congratulations your family. Stay turned 👍
@MCS.VEDIOSАй бұрын
😊
@mattbrigidiАй бұрын
😄
@tomvolkmann3082Ай бұрын
For my german friends out there, as I spent 30 mins figuring this out, with german localization you need to use "\" to seperate the ranges in the array
@mattbrigidiАй бұрын
my apologies - i should have stated that different regions require different syntax but i wasn't aware at the time of recording. thank you for adding this for others!
@BPoodcastАй бұрын
By any chance can you share the code?
@mattbrigidiАй бұрын
once i figure out a way to do it!
@EliPatinoAveАй бұрын
Thank you! this is excellent! the trigger should be for the 'dataCollector' function and not the 'opener' function, yes?
@mattbrigidiАй бұрын
i believe that's correct! (apologies - it's been some time since I recorded this video)
@EliPatinoAveАй бұрын
This is excellent! THANK YOU! How would I automate data collection from only ONE sheet (the 'Data' tab) from multiple workbooks to 1 sheet? I need each person to have their individual workbook so that they don't mess up anyone else's data. But each person's WB has multiple tabs (for drop-down menus, and guidance and instructions). So I need to gather only the 'Data' tab of each WB.
@mattbrigidiАй бұрын
Hmm, I would have presumed that this video would touch on that - have you tried this one? kzbin.info/www/bejne/mWipqKuhn710rLM
@adityaramakrishna6968Ай бұрын
Hey Matt, I have noticed that a lot of your recent videos are related to Data Visualization techniques using Python as the programming language, I was wondering if there can be some projects that can be made using this, I actually don't know a lot because I am still in the first year of college but I did make one project that displayed Spotify's data like (top 10 songs, heatmaps of various aspects of the song etc) I did take a lot of help ofc I couldn't do it all by myself, I had to watch tutorials understand it and then implement it in my project but I was wondering if you could come up with something that's maybe something like this or anything actually it'd be really great because I don't really work on Data Visualization actively at the moment but would really like to jump in haha anyway thanks for reading this Matt :)
@mattbrigidiАй бұрын
hey aditya! thanks for reaching out. i usually collect and transform my data in python and then send it to Google Sheets or Slides to visualize it. are you looking to visualize in python or by sending the data to sheets?
@MCS.VEDIOSАй бұрын
Thanks for the Video
@mattbrigidiАй бұрын
my pleasure!
@LimoreRicciardi2 ай бұрын
How would you handle it if the email address were a group? I think it may have to parse the group in order to send but I am a newbie and have no idea what I am even saying.
@mattbrigidiАй бұрын
hey! sorry for the late response - i was on vacation. So you have a google group and you want to send a message to it? or you want to send a message to multiple addresses?
@muhamadekocahyono26612 ай бұрын
Yeah you explain it well sir, really thank you
@mattbrigidiАй бұрын
You are most welcome!
@HolyCow23952 ай бұрын
Hi, Matt. How can I include the email of the responder of the form as recipient when sending the email? I assume I need to find the last row in the linked sheet but not sure how to do that in the code.
@mattbrigidi2 ай бұрын
sorry, i'm a bit confused - you want to send the email to the person who entered the form? or is it something else?
@HolyCow23952 ай бұрын
Sorry for the confusion. Yes, I also want the person that submitted the form to receive that email as well. Because your guide only allows specific email.
@mattbrigidi2 ай бұрын
i believe the video includes logic that collects the email of the person who submitted the form responses. i recorded this quite sometime ago, so apologies if that not the case. feel free to email me your workbook (edit access please) and i’ll look at your code and make specific suggestions. happy to help you get what you need
@PaulEdmark2 ай бұрын
How would I use the push to put the name in the beginning of the array so that the name is in the first column?
@mattbrigidi25 күн бұрын
Instead of using: fullData.push(data[j].concat(name)); you could use var row = [name].concat(data[j]); fullData.push(row);
@EnzoAugustoPennaAthayde2 ай бұрын
how define which folder the doc will be saved?
@mattbrigidi2 ай бұрын
hi, i'd need a bit more information about your specific example but you could save the folder id to a variable and then use DriveApp to move the file id into the destination. perhaps this video will help you? kzbin.info/www/bejne/eX_UioiBrd2jrcU
@frankmagneri28922 ай бұрын
Hey Matt. Loved this video and how you anticipated a lot of my questions. Do you have a video on how to sum data, for example, sum by department, from the data in a google sheet. I passed the data into a dataframe. Looking on how to get away from excel and use pandas/colab for some of my analytical needs.
@mattbrigidi2 ай бұрын
hey! I'm glad to hear you found the video helpful. Apologies for the delayed response - I recently was married. I have a 101 video that has a section on math functions in python. perhaps you'll find it helpful: kzbin.info/www/bejne/oIjCepuoa9Flq5I
@cristinapajarillo69562 ай бұрын
Hello, Matt! Great video! What if there are multiple recipients that I’d like to send an email to? For example, on the table that you used in this video, there are 20 rows and about 6 email addresses (say in column D). I’d like to code it in such a way that when I run the script, the 6 recipients would be receiving only one email each, and in that email will be a consolidated data/table anchored on their profile/email. Hope you can share your thoughts or make a video 😊
@mattbrigidi21 күн бұрын
Hey Cristina, so sorry for the delay. I just finished looking into something that aligns with what I think you need. Apologies if you no longer need help with this. I have some life things that might keep me from recording the video but I plan to prioritize this once I get the chance!
@cristinapajarillo695621 күн бұрын
@@mattbrigidi hey Matt! No worries, I am patiently waiting 😁 you were so kind to reply to my email and that’s really awesome. Personal matters always come first 🥂
@flyerplanet2 ай бұрын
Your tutorials are great and very helpful. Thank you I have gone crazy many nights with your tutorials that work perfectly on the first try when I write them but no longer work when I reopen "Drive" and reload them to continue learning. After rewriting them many times I finally understood that the source "example data file" needs to be opened at the same time as the destination file. Is it possible to take data from the source file that is on the network or on the PC but not yet open on the desktop?
@mattbrigidi2 ай бұрын
i’m glad you’ve found the videos helpful but i’m sorry to hear that you’ve also had challenges. you shouldn’t have to have the files open unless you’re referencing them using the “SpreadsheetApp.getActiveSpreadsheet()” method. if you’re using that logic and only have the script file open then i could see the issues arising. please feel free to email me with some sample code and i’ll gladly take a look
@ramzidjauhari38292 ай бұрын
Hi Matt... how if I have a linked chart, and I want it to be updated automatically using appscript? Thank you.
@mattbrigidi2 ай бұрын
hi! i don't know how to do that at present. i'll look into it and follow up if i have a solution that i think adds values
@fabrice98482 ай бұрын
I've managed to add the trigger by selecting "on change" instead of "on form submit". But when I submit the form, I don't receive any email. I only receive an email when running the script manually. I've checked my Google sheet and it contains a new row, so this change should have triggered the script...
@mattbrigidi2 ай бұрын
unfortunately, you'll need to get the onForm submit trigger to work, as onChange will not provide the same functionality as onForm submit. This problem is challenging bc I have never experienced it before. feel free to email me and we can try to isolate your issue
@fabrice98482 ай бұрын
I cannot add the trigger with "on form submit" event. I'm getting this message: "Script authorization failed, please check your pop-up blocker". I've already run my script multiple times and allowed its execution. No errors when running my script manually. I've also tried after disabling my adblocker. Any suggestion?
@mattbrigidi2 ай бұрын
hmm sorry to hear you're experiencing this road block. I see you've added another comment. I will pick this up there
@fabrice98482 ай бұрын
you clearly deserve to get many more new subscribers
@mattbrigidi2 ай бұрын
thank you for the kind words!
@raghhavms81262 ай бұрын
Thanks for the video :) Do you have the script available for download?
@mattbrigidi2 ай бұрын
Not yet - I'm still trying to figure out the best way to share
@AshmiZameer3 ай бұрын
I used the same script but getting an error saying ReferenceError: datacollector is not defined. How do I fix this?
@mattbrigidi3 ай бұрын
hi, you might be running the wrong file but it’s difficult for me to tell without more information. feel free to email me if you have troubles and i’ll gladly help as best i can
@echoesandnoise3 ай бұрын
i am using a spreadsheet for my contact form. So anything filled on my contact form gets into the google sheets. I used this code for the same sheet to send data as email. It works well on Running the script manually. But i am unable to automate it with triggers for some reason. When someone fills the form i get the data in my sheets but trigger does not automate to send it to my email.
@mattbrigidi3 ай бұрын
is the contact form a separate workbook that is fed into another sheet?
@echoesandnoise2 ай бұрын
@@mattbrigidi Contact form is a different html code which i took from some other video "Regarding : Using html contact form to send data to google sheets using google scripts" but under the same scripts project, i added your script. So when i run it manually it works fine. I get the mail. Even while using triggers , if i add data directly to sheets it sends me email with data added. But when i use contact form to do that, it only adds data to sheets, and i dont get any email. Its under same workbook.
@echoesandnoise2 ай бұрын
@@mattbrigidi I have sent you as email as well with Subject - "Commented on : Automated email when new line is added to Google Sheets" with link to my google sheet and website to check.
@ggusta13 ай бұрын
i am trying to create something that will take certain fields/tables out of the doc and copy it into a cell in a sheet, is there a specific video for that?
@mattbrigidi3 ай бұрын
not yet but i’d be happy to look into it. feel free to send me an email with a template and i can use a variation of it as an example
@shortround5513 ай бұрын
Hello, I am performing a function to get the sharable link out of multiple files in the drive, however it only seems to be working for G-Drive specific files. It will not get a sharable link for Mov's, mp4's, wav.s etc.. only .docx, .pptx etc.. How can I solve this? Cheers!
@mattbrigidi3 ай бұрын
I'll look into this and will update you once I figure out a solution
@hygef-v421 күн бұрын
@@mattbrigidi please update this function sir
@adhimasluqmanpradana81523 ай бұрын
i tried this and got error : Exception: Access denied: DriveApp. but i have allowed all permission, any idea ?
@mattbrigidi3 ай бұрын
if you send over your code then i can take a look
@Adhimas5553 ай бұрын
@@mattbrigidiohh now the code works, so the trigger should be create from the trigger menu, i thought i can create from the function, but the permission is different
@Fafa233 ай бұрын
Thank you for this video, I was getting really stuck on this part with my personal python project and you just saved me a lot of time!
@mattbrigidi3 ай бұрын
You're very welcome!
@xanderpmusic3 ай бұрын
Is it possible to apply this function to multiple ranges? Like, if I had a list that started at b8 and ended at b17, and the another list that started at b25 and ended at b34, and so on. Say my list has phases, so all of the completed tasks go into their respective area in the completed tab
@mattbrigidi3 ай бұрын
If I'm understanding you correctly, then I might suggest adding some type of tagging that would allow for you to sort the list (similar to the auto-sort function). Happy to discuss more if you'd like to send me a sample sheet via email
@soyharso3 ай бұрын
Great !!! Thanks for share.
@mattbrigidi3 ай бұрын
My pleasure!
@sarahnicole61963 ай бұрын
Your videos are the best! Thank you! Is there a way I could sum the result from each column within the code? Before it adds it to the destination workbook?
@mattbrigidi3 ай бұрын
Thank you for the kind words! I will look into this and will update this thread (or the playlist) when I have a solution!
@Rizwan-ci4gw3 ай бұрын
Hi, can this email automation be done from google sheets to outlook?
@mattbrigidi3 ай бұрын
i’m not sure! i’ve never tried sending to outlook - i presume it would work? did you try it and receive an error?
@funtomata3 ай бұрын
Hello, what if I want to move a LOT of files (hundreds of files). Doing indiviual synchronous moveto of individual files results in the script taking ages, or even going into timeout. How can I move the files asynchronously, or all at once?
@mattbrigidi3 ай бұрын
sorry it took so long to answer this - i got married recently :D i have never tried to move hundreds of files but i could look into some type of batch collection - how are you defining the file movement? file name? folder name? file type?
@de_libertate_ocm3 ай бұрын
thank you!
@mattbrigidi3 ай бұрын
You're welcome!
@michaelrusso25353 ай бұрын
Really great series!
@mattbrigidi3 ай бұрын
Thank you!
@xanderpmusic3 ай бұрын
This is a great video, just needs a timeline for the video, there are some really cool features included
@mattbrigidi3 ай бұрын
thank you - that's good feedback
@michaelrusso25353 ай бұрын
This is great! Question - how would I get the query to populate multiple rows based on date. In other words, instead of it having a single row with agg. data constrained within the date values, I'd like the query to populate multiple rows displaying data for each day, week, etc. of the date range.
@mattbrigidi3 ай бұрын
thank you! it depends on the specifics of your data - i have a whole playlist about query: How to use QUERY in Google Sheets kzbin.info/aero/PL_xiAt6o4ZXyQn8xkOCMfgdUlu36ZOkYB let me know if you have any questions and i’ll be happy to help