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をコピーしました