Googleフォームにスプレッドシートから項目を追加する方法(コピペでできる!)

Googleフォーム

Googleフォーム関連

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

Googleフォーム プルダウン(ドロップダウン)リストの項目をスプレッドシートから読み込んで追加する方法
Googleフォームのプルダウンの項目をスプレッドシートから読み込んで追加することができます。 GASって何?状態であってもできます。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

  • 手軽にスプレッドシートからGoogleフォームに項目を追加できるようになります。
  • GASって何?状態であってもコピペでできます。
  • ボタンからGASを呼び出す方法がわかります。

なので、サクッとマスターして

と答えてあげてください。

今回は、名前付き範囲を使用してスクリプトの変更箇所も2箇所に減りました。

 

動画はこちら

GoogleスプレッドシートからGoogleフォームに項目を手軽に追加する方法

スクリプトはこちら

あなたが変更箇所は★の部分です

const FORMID = '★★★★★★★★'   //① GoogleフォームのID
const ITEMNAME = '★★★★'        //② 項目のタイトル&名前付き範囲の名称
//③以下のいずれかを呼び出す
//AddGFormItems_List    //プルダウン
//AddGFormItems_Check   //チェックボックス
//AddGFormItems_Radio   //ラジオボタン



const ITEM_LIST =  1
const ITEM_CHEKBOX = 2
const ITEM_RADIO = 3

// ラジオボタンの項目を追加する
function AddGFormItems_Radio() {
  AddGoogleFormItems(ITEM_RADIO)
}

// プルダウンの項目を追加する
function AddGFormItems_List() {
  AddGoogleFormItems(ITEM_LIST)
}
// チェックボックスの項目を追加する
function AddGFormItems_Check() {
  AddGoogleFormItems(ITEM_CHEKBOX)
}


/**
 * AddGoogleFormItems
 * Googleフォームのプルダウンリスト、チェックボックス、リストボックスに項目を追加する
 * 
 * @itemkind {integer} 項目の種別
 * @return 
 * @customfunction
 * */
function AddGoogleFormItems(itemkind) {
  const form = FormApp.openById(FORMID)
  const items = form.getItems()

  let section = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(ITEMNAME).getValues()
  section = section.filter(v => v[0])

  for (let i = 0; i < items.length; i++) {
    const item = items[i]
    const itemName = item.getTitle()
    const itemId = item.getId()

    if (itemName == ITEMNAME) {
      switch (itemkind) {
        case ITEM_LIST:
          items[i].asListItem().setChoiceValues(section)  //プルダウンメニュー
          break
        case ITEM_CHEKBOX:
          items[i].asCheckboxItem().setChoiceValues(section)  //チェックボックス
          break
        case ITEM_RADIO:
          items[i].asMultipleChoiceItem().setChoiceValues(section) //ラジオボタン
          break
      }
    }
  }
}

 

主な手順

Step1.

①GoogleフォームのIDをスクリプトのFORMIDにコピペします。

 

Setp2.

①スプレッドシートの名前付き範囲とGoogleフォームの項目名と
スクリプト内のITEMNAMEを同じ名称にします。

 

Step3.

Googleフォームの項目に合わせて以下のいずれかを呼び出します。

//AddGFormItems_List    //プルダウン
//AddGFormItems_Check   //チェックボックス
//AddGFormItems_Radio   //ラジオボタン
詳細は動画をご覧ください。

最後までご覧いただきありがとうございます。

つぎはこちら

Googleフォームに初期値を表示させる方法(自分用も作れる)
手軽にGoogleフォームの初期値を設定することができます。 がんばれば、編集権限がなくても自分用の初期値を設定することができます。

Googleフォーム関連

コメント

タイトルとURLをコピーしました