Google 애플리케이션 스크립트를 사용하여 양식에서 정보를 얻으려고합니다. 그러나 양식에 이미 대상이 있는지 확인하고 확인하는 것이 좋습니다. 스프레드 시트가 첨부되어 있습니다. ID가없는 경우 ID를 가져오고 싶습니다. 아래의 코드를 실행할 때마다 de-bugger는 "양식에 현재 응답 대상이 없습니다."라는 오류가 발생합니다.Google 양식에 대상 스프레드 시트가 있는지 확인하십시오.
양식 응답 대상이없는 경우이 방법 getDestinationId()
는 예외가 발생
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 =)
}
버그로보고해야합니다! – Mogsdad
적어도 문서는보다 구체적이어야하며 메서드가 예외를 throw 할 수 있음을 나타냅니다. 다른 방법으로도 가능합니다. [openById (id)] (https://developers.google.com/apps-script/reference/forms/form-app?hl=en#openById (String)) 및 [openByUrl (url)] (https : // developers.google.com/apps-script/reference/forms/form-app?hl=ko#openByUrl(String)) – wchiquito
고맙습니다.이 작업 ... 그리고 뭔가 배웠습니다! 다음은 스프레드 시트가 있는지 테스트하고 스프레드 시트를 작성하지 않은 경우 사용한 코드입니다. 'code' var form = FormApp.getActiveForm(); var ssID; 시도 { ssID = form.getDestinationId(); } catch (e) { var exception = e.name; if (예외 === "예외") { var ss = SpreadsheetApp.create (formName + '(응답)'); form.setDestination (FormApp.DestinationType.SPREADSHEET, ss.getId()); ssID = form.getDestinationId(); } else { ssID = form.getDestinationId(); } }'code' – user2262933