我正在尝试使用Google应用程序脚本从表单中获取信息,但我认为检查并查看表单是否已经附加了目标电子表格是个好主意。 如果是这样,我想获取ID,如果没有,我想创建一个。 每次我运行下面的代码时,去虫器都会抛出一个错误,告诉我"表单当前没有响应目标"。
请帮忙
var form = FormApp.getActiveForm();
var formName = form.getTitle();
function randomQuestion() {
var theFormID = form.getId();
var sheetID = function sheetID() {
if ( form.getDestinationId() === 'undefined' ) {
var ss = SpreadsheetApp.create(formName + ' (Responses)');
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());
return form.getDestinationId();
}else {
return form.getDestinationId();}
}
var sheet = sheetID();
g; // <-un-comment this to make the de-bugger throw an error =)
}
这是我用来测试是否有响应电子表格的代码,如果没有,则创建一个。
var form = FormApp.getActiveForm();
var formName = form.getTitle();
var ssID;
try {
ssID = form.getDestinationId();
}
catch(e) {
var exception = e.name;
if (exception === "Exception" ){
var ss = SpreadsheetApp.create(formName + ' (Responses)');
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());
ssID = form.getDestinationId();
}else{
ssID = form.getDestinationId();
}
}
当窗体没有响应目标时,该方法getDestinationId()
引发异常。您需要尝试处理此问题...捕获,例如:
...
var form = FormApp.getActiveForm(), idResponse;
try {
idResponse = form.getDestinationId();
}
catch(e) {
// TODO
}
...