У вас этот код никогда не заработает нормально. Почитайте комментарии на приведенном вами ресурсе.
Главная ошибка - это ссылка на активную Таблицу 
SpreadsheetApp.getActiveSpreadsheet(); В триггере 
OnFormSubmit не может быть активной Таблицы, потому что никакой пользователь ее не открыл. А если даже и открыл, то он может не быть регистратором триггера или его инициатором.
Обработка ошибок
Google Apps Script (речь о данном моменте времени развития языка) не имеет развитых методов отладки. Поэтому обвяжите основной вызов:
/**
* В Таблице должен быть лист "Лог".
* Чтобы лист существовал всегда
* https://github.com/oshliaer/google-apps-script-snippets#get-a-sheet-by-name
**/
function handler(e) {
  try {
    sendFormByEmail(getNewEmailMessage(e));
  } catch(err) {
    e.source.getSheetByName('Лог').appendRow([new Date(), err.message, err.stack]);
  }
}
 Отлично, теперь все, что упало в рантайме, будет вам известно.
Текущая Таблица/Лист
Я приываю не только автора топика, но вообще всех: "Пожалуйста, не трогайте ActiveSpreadsheet, ActiveSheet и ActiveRange, т.к. это не VBA. Это #ВАЩЕ_НАФИГ_ДРУГАЯ_ВСЕЛЕННАЯ!". Обратите внимание на код выше 
e.source.getSheetByName(). Это все, что надо.
А вот пример комутатора:
/**
* Определение языка на основе ответа
**/
function getNewEmailMessage(e) {
  var sheet = e.range.getSheet();
  var lang = 'EN';
  switch(sheet.getName()){
    case 'RU':
       return 'Ответ на русском';
       break;
    case 'EN':
       return 'Ответ на нерусском';
       break;
  }
  return 'Ответ на русском';
}
Осталось добавить аргументов и переписать 
sendFormByEmail согласно принимаемым параметрам.
Триггер на несколько Форм
Вместо заключения
Только качественный и проверенный контент