1

Google Apps スクリプトを使用してフォームから情報を取得しようとしていますが、フォームに宛先スプレッドシートが既に添付されているかどうかを確認することをお勧めします。ある場合はIDを取得したいのですが、そうでない場合は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 =)
    }
4

2 に答える 2

2

getDestinationId()フォームに応答先がない場合、メソッドは例外をスローします。次のようなtry...catchでこれを処理する必要があります。

...
var form = FormApp.getActiveForm(), idResponse;
try {
  idResponse = form.getDestinationId();
}
catch(e) {
  // TODO
}
...
于 2013-09-05T18:53:23.267 に答える