質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.92%

GASのスクリプトがGoogle Formに反映されない

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 182

score 0

前提・実現したいこと

Google Formの ドロップダウンリストにスプレッドシートのデータを反映させるスクリプトで 一部のスクリプトは反映され 一部は反映されずにいます
以下のソースコードで 作業名1のリストはフォームに反映されるのですが 作業名3のリストは反映されません

両者の違いは リスト名のみで 他のコードはすべて同じです

反映されるスクリプトをコピペして貼り付けただけなのですが なぜか 反映されず エラー表示はありません

現在は スプレッドシートの 作業名というシートの作業名リストを フォームのリストに反映させていますが フォームの作業名リストは1~10まで 作成しており それらのフォームリストすべてに スプレッドシートのデータを反映したのですが 反映されるのは 作業名1と 作業名10のフォームリストのみで 2~9が反映されません

反映させるにはどうすればいいでしょうか?

エラーメッセージはありません

該当のソースコード

function myFunction() {
  // 設定しているスプレッドシートを取得('▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲'の部分はスプレッドシートのIDを設定)
  const spreadsheet = SpreadsheetApp.openById('▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲');

  // 設定しているシートを取得
  const sheet = spreadsheet.getSheetByName('作業名');

  // 配列で設定されているリストを取得
  const fruitList = sheet.getRange(2, 1, sheet.getLastRow() - 1).getValues();

  // Googleフォームを開く
  const form = FormApp.getActiveForm();

  // リストタイプの質問だけを取得
  var items = form.getItems(FormApp.ItemType.LIST);

  items.forEach(function(item){

    // 質問のタイトルでリストを設定する質問かチェック
    if(item.getTitle() == '作業名3') {
      // 質問のリストアイテムを取得
      var listItemQuestion = item.asListItem();

      var choices = [];

      fruitList.forEach(function(fruits){
        // @ts-ignore
        if(fruits != ""){
          // @ts-ignore
          choices.push(listItemQuestion.createChoice(fruits));
        }
      });

      // プルダウンの選択肢を上書きする
      listItemQuestion.setChoices(choices);
    }
  });
}

試したこと

グーグルフォームの連携を解除して 新たにスクリプトを作成し直しましたがだめでした

補足情報(FW/ツールのバージョンなど)

GASを使っています

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.92%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る