Please help.....
I am by far not good at using script editior and in need of some help. I have created a form that I will need an email sent based on the values entered. For example if a user selects "active, then an email is sent to john1@gmail, if user selects "tower" then an email is sent to If the user selects both "active and tower" then an email is sent to john1@gmail and john2@gmail.
Is this possible? If so, can someone please share their script entry?
Thank you in advance!!

Allow a non-privileged user to show/hide cells in a protected range?

I have a shared spreadsheet with columns that contain formulas that I don't want users to be able to edit. As such I have added protections to these columns. I also have a menu added to the UI that allows a user toggle the display of rows that include these columns.

It appears hiding/showing rows/columns is considered editing and when done from the context of one of the non-privileged users the toggle gets a 'you are not allowed to edit' message. Anyone have a work around outside of removing the protection altogether?

I hope I can create a simple FORM workflow or script to allow file uploads to a drive folder, or a sub-folders to a folder that has its URL stored in a spreadsheet with a matching keyfield.

Is there already a process for FORMs or a script available that achieved this or similar?

Right now, all uploads from FORM go to only ONE folder, forcing me to manually move files into the proper folder.

Thank you in advance.

Hi . Hope you are doing good.

Can anyone help me with scripts for Bulk mail merge using Gmail??

Post has attachment
Hello! I ask the community to help me solve a task.

I have a spreadsheet. This one spreadsheet = one calculation = one deal.
Calculations are performed staff. Each employee receives this Spreadsheets as a template. An employee copies the Spreadsheets multiple times, giving each copy a new name. The employee has the right editor.

Unfortunately G Suite does not allow to hide the formula from employees and prohibit the export of Google Spreadsheets in Excel.

For me it is very important to protect the spreadsheet. Spreadsheet algorithms are important.
My question is: How can I protect the formula?

I was advised IMPORTRANGE, but this feature imports only values, and I want to import the formulas function.

Do you have any ideas?
Now I'm settled on this idea: "doFormula" + IMPORTRANGE


Can someone guide me on the below codes as these are not working for date fields.

function fixDateCol2 (){ // this fucniton is to fix a date column base on the value in other column

var source = SpreadsheetApp.getActiveSpreadsheet();
var sourcesheet = source.getSheetByName('DataQuality');
var targetsheet = source.getSheetByName('4Ws');

var sourceSheetLastRow = sourcesheet.getLastRow();
var targetSheetLastRow = targetsheet.getLastRow();

var sourceDateRange = sourcesheet.getRange(5, 45, sourceSheetLastRow-4, 1);// The list of Description in DataQuality sheet, extracted from 4Ws
var sourceDateRange2= sourcesheet.getRange(5, 48, sourceSheetLastRow-4, 1);// The column (corrected name list) to replace the name in 4Ws
var sourceDateRange3= sourcesheet.getRange(5, 46, sourceSheetLastRow-4, 1);// The column to use for filter purpose

var sourceDate2 = sourceDateRange2.getDates(); // values to correct with
var sourceDate = sourceDateRange.getTimes();// values to use for filter field 1
var sourceDate3 = sourceDateRange3.getTimes();// values to use for filter field 2

var targetDateRange = targetsheet.getRange(4, 11, targetSheetLastRow-3, 1);// Column to be check in 4Ws sheet
var targetDate = targetDateRange.getValues(); // read names from 4Ws Sheet

var targetDateRange2 = targetsheet.getRange(4, 12, targetSheetLastRow-3, 1);// Column to be fixed in 4Ws sheet
var targetDate2 = targetDateRange2.getValues(); // read names from 4Ws Sheet

for (var i in sourceDate2){
for (var j in sourceDate2){

if (sourceDate2[i][j]!= "" && sourceDate[i][j]!= ""){ // if blank in correction colomn, then to skip
for (var k in targetDate){
for (var l in targetDate[k]){

if (targetDate[k][l]==sourceDate[i][j] && targetDate2[k][l]==sourceDate3[i][j]){

targetDate2[k][l]=sourceDate2[i][j]; // replace with corrected name
};// end if

};// next l
};// next k
};// end if

};//next j
};//next i

targetDateRange2.setValues(targetDate2).setNumberFormat("dd-Mmm-yyyy");//replace with corrected names from range

sourceDateRange2.clearContent();// remove corrected names to avoid proble if script is accendentially run again


I have an array myList[] which holds few hundreds string in it. How can i post it as a single column list on a worksheet? Looks like a simple task but i've tried different approaches in vain

Post has attachment
In column A I need to be able to post a notification and in column B it auto time stamps it. Then list the agent names across the top (column names). Under each column they will initial under their name beside the notification and it will auto time stamp it as well. See example sheet attached. I have a helper sheet so that once entered the data can not be changed on the master sheet from the original agent initials and time stamp. I like how this sheet functions. The only issue is I need to use protected sheets and range or have more added to this script to provide the protected cells. I need the helper sheet to be protected so that only myself and one other user has access to edit it so the agents can not delete or change the data there (we both are to have edit rights to the entire master sheet). Then each agent is to be restricted edit to only their two columns. For Example Agent 1 can only edit Columns C and then D will auto time stamp for them. When add a protective range then the script doesn't work. Can someone help and/or fix my script to perform with the protection range.

Is there a way to give someone edit access but also limit their control? I want to distribute an editable spreadsheet, but I don't want them to have access to the menu where they can click on File, View, etc.

Hi, I'm not sure if this belongs here, but I believe it is an error in the script and/or some sort of glitch.

I went to edit a document today, and encountered a strange glitch almost immediately: When I went to edit some things I already wrote (adding words, rephrasing) the letters I'd type, say, before a letter I wanted to keep, it would type the letters I chose AFTER the letter I wanted to keep and the letters I typed replaced the letters already after the letter I wanted to keep. Or if I tried to backspace a letter at the beginning of a word, it would delete letters IN FRONT of where I was backspacing, as if I was pressing delete.


Say I had "Then" and I wanted to type "and" before "Then" and replace the capital T with a lowercase t (the | indicates the flashing bar, "-->" shows what it becomes)

"|Then" --> "|Taen" So this didn't work so I just try to get rid of the capital T because it seems to be causing trouble:
- By backspacing:
"T|hen" --> "T|en"
- By using delete:
"|Then" --> "|Ten"

Or, say I somehow managed to delete the T, and I wanted to rewrite it as a lowercase t:
"|hen" --> "h|ten"

This doesn't happen everywhere but it some places, but I can't get past this.

I have tried reloading the page, going back to home and then to the document, closing the tab and creating a new one, logging out of gmail and Google Chrome, but it is still not fixed.

Please help quickly because I have a lot to still do on this and it needs to be done by Tuesday.

UPDATE: It is now almost EVERYWHERE. I even copied and pasted my writings onto a new document, but the problem followed. Please, don't hesitate to help!
Wait while more posts are being loaded