как onFormSubmit (), две отдельные таблицы с исходным кодом Google? - PullRequest
1 голос
/ 05 октября 2019

У меня есть две отдельные формы Google, которые отправляют новые данные клиента в две отдельные таблицы. Как бы я использовал onFormSubmit () для двух отдельных источников электронных таблиц в одном редакторе сценариев приложения? всем большое спасибо: D

если получится один лист, как он может реализовать два или более? я думаю, что получил SpreadsheetApp.getSheetByName ('xyz');и я немного не уверен, что именно является активным листом или активирован. Я думаю, что это тот лист, на котором вы сейчас находитесь в электронной таблице, из которой извлекается скрипт приложения. Возможно, мне не хватает некоторых других базовых понятий

function onFormSubmit(){
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var sht = ss.getSheetByName('New Client Submission Form (Phone)'&&'New Client Submission Form (Emailed)')
  var activeRng = sht.getRange("A2:K2")
  var values = activeRng.getValues()
  var height = values.length
  var width = values[0].length
  var ss_dest = SpreadsheetApp.openById('1wgzUSXFNLFQz6tv42Cp_o94qRPAB9IkZnKP5tGL003o')
  var sht_dest = ss_dest.getSheetByName('Estimate Compiler')
  var destRange = sht_dest.getRange(2,1,height,width)
  destRange.setValues(values)
  }

эта функция работает точно так, как ожидалось. Я просто пока не знаю, как реализовать два или более

1 Ответ

2 голосов
/ 05 октября 2019
function onFormSubmit(e) { 
  var formObj={LinkedSheet1:FormName1,LinkedSheet2:FormName2};//you provide this from a knowledge of the connection between the form and linked sheet 
  var form=formObj[e.range.getSheet().getName()];//this returns the form for each sheet
  switch (form) {
    case 'FormName1':
      //code for FormName1
      break;
    case 'FormName2':
      //code for FormName2
      break;
  }
}

Объект события onFormSubmit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...