2017-01-14 2 views
0

В js я открываю страницу google, выполняя некоторые функции. Затем я открываю форму google и устанавливаю адрес ответа на этот лист. Это автоматически добавляет новый рабочий лист. Однако в сценарии новый рабочий лист не отображается.В скрипте Google новый лист ответов на формы не отображается

Вот соответствующий код:

var userCBsheet = SpreadsheetApp.open(userCBfile); 
Logger.log("Sheet Count 1: " +userCBsheet.getNumSheets()); 
//this shows 8 sheets correctly 

var formLL = FormApp.openById(userLLfile.getId()); 
formLL.setDestination(FormApp.DestinationType.SPREADSHEET,userCBsheet.getId()); 

Logger.log("Sheet Count 2: " +userCBsheet.getNumSheets()); 
//Still shows 8 

Итак, я попробовал несколько вариантов, как добавить сон, или повторного открытия файла с новой переменной.

//same as above, then added 
var cbid=userCBsheet.getId(); 
var userCBsheet2 = SpreadsheetApp.openById(cbid); 
Logger.log("Sheet Count 3: " +userCBsheet2.getNumSheets()); 
//still shows 8 

Если я позволяю функция завершена, а затем выполнить простую проверку, он работает:

function junk() { 
    var files = DriveApp.getFilesByName(theName); 
    var file = files.next(); 
    var ss = SpreadsheetApp.openById(file.getId()) 
    Logger.log("Sheet Count 4: " +ss.getNumSheets()); 
    //this returns 9 (as it should). 
} 

Таким образом, вопрос, как я могу получить доступ к вкладке вновь созданной после того, как был добавлен к листу через функцию setDestination формы?

ответ

0

Добавить SpreadsheetApp.flush() после изменения формы назначения, как это:

var formLL = FormApp.openById(userLLfile.getId()); 
    formLL.setDestination(FormApp.DestinationType.SPREADSHEET,userCBsheet.getId()); 
SpreadsheetApp.flush() 
Logger.log("Sheet Count 2: " +userCBsheet.getNumSheets()); 
+0

Благослови вас! знал, что это должно быть что-то простое. Мне не хватает публичного ответа на этот вопрос, но это сработало. Спасибо! –

+1

Рад, что это сработало для вас. Вы можете подтвердить ответ, нажав галочку слева от ответа. Реп не имеет значения для этого. Благодарю. –

+0

сделано. Еще раз спасибо. –

Смежные вопросы