Google apps scriptでGoogleフォームを取得する方法

Google apps scriptでGoogleフォームを取得する

  • getActiveForm()
  • openById(id)
  • openByUrl(url)

を使います。

getActiveForm()
スクリプトがコンテナにバインドされているフォームを返します。スクリプトがコンテナにバインドされていないフォームと対話するにはopenById(id)、openByUrl(url) 代わりにまたはを使用します。

 

openById(id)
Form指定されたIDを持つを返します。IDが無効であるか、ユーザーにフォームを開く権限がない場合は例外がスローされます。

 

openByUrl(url)
Form指定されたURLを持つを返します。URLが無効であるか、ユーザーにフォームを開く権限がない場合は例外をスローします。

 

参照元

Class FormApp  |  Apps Script  |  Google Developers

 

Google apps scriptからGoogleフォームをgetActiveFormを使って取得する例

/*GoogleフォームをgetActiveForm()を使って取得*/
function getActive(){

var frm = FormApp.getActiveForm();
Logger.log(frm);//null

}

 

Google apps scriptからGoogleフォームをopenByIdを使って取得する例

/*GoogleフォームをopenByIdを使って取得*/
function Byid(){

//フォームの編集>URLからIDを抜粋
//抜萃したIDでフォームを取得
var id = "1ZiYE0Bf3Ui8AR_LflIQIhccWntVYf7-mo-KPmkXWIeM";
var frmid = FormApp.openById(id);

 

}

 

Google apps scriptからGoogleフォームをopenByUrlを使って取得する例

/*GoogleフォームをopenByUrlを使って取得*/
function Byurl(){

var url = "https://docs.google.com/forms/d/1ZiYE0Bf3Ui8AR_LflIQIhccWntVYf7-mo-KPmkXWIeM/edit"
var frm = FormApp.openByUrl(url);

Logger.log(frm);

}

 

まとめ

FormApp.get・・という流れを忘れない。

getActiveForm〜が一番使いやすい。

既存のフォームを指定する場合はopenByUrlの方が使いやすいかも。