6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

マナビDX Questで得たものAdvent Calendar 2024

Day 4

GASを活用してGoogleフォームを効率的に作る方法

Last updated at Posted at 2024-12-25

はじめに

この記事は マナビDX Questで得たもの Advent Calendar 2024 の4日目の記事です。

マナビDXクエストを通じて、「学び続けることの大切さ」「教えて頂ける環境のありがたさ」を実感しました。
その中で、マナビDXクエストの受講終了後に自主勉強会を開く際、参加を呼びかけるフォームを効率よく作る方法があれば良いと考えました。

本記事では、ChatGPTとGoogle Apps Script(以下、GAS)を使って効率的にGoogleフォームを作成する手順についてご紹介します。

注意点

  • ChatGPT
    • プロンプトに個人情報や機密情報を含めないよう十分注意してください。
    • 日時や開催場所は「●●●」などで仮入力しておき、フォーム生成後に適宜修正してください。
  • GAS
    • スクリプトを作成・実行するにはGoogleアカウントが必要です。
      • アカウントをお持ちでない場合、予め作成をお願いします。
    • スクリプト実行時にエラーが発生する可能性があります。
      • エラーが出た場合、エラーメッセージをChatGPTに送信し、スクリプトを再生成してください。

ChatGPTとGASでGoogleフォームを生成する基本的な流れ

  • プロンプトの作成
    • フォームの内容を考え、プロンプトを準備
  • ChatGPTにプロンプトを入力
    • ChatGPTにプロンプトを入力して送信し、スクリプトを生成
  • スクリプトエディタを開く
    • Googleドライブで新しいスクリプトプロジェクトを作成し、エディタを開く
  • スクリプトの実行
    • エディタにスクリプトを貼り付けて実行
  • 実行結果の確認
    • 実行後にログ出力されたURLをクリックし、Googleフォームを開く

今回使用したプロンプト

以下、ChatGPTに送信したプロンプトのサンプルです。

勉強会の出欠確認を目的としたGoogleフォームを生成するGASを作成して

#勉強会のテーマ
GASの活用

#開催日時
●●●●年●●月●●日(水)●●時

#開催場所
「●●●」

#冒頭
・勉強会の趣旨を簡潔に説明

#確認内容
・出欠
・興味関心分野(IT関連)
・さらに確認すべき内容を3つ追加する
・ご意見ご要望

#設問
・各設問に簡潔な説明
・必要に応じて回答例を提示
・必須にすべき設問を考慮
・適切な順番に並び替え
・適切な回答項目を選択(記述、段落、ラジオボタン、チェックボックス、プルダウン)

#GAS
・実行時にエラーがでないようにする
・選択肢は「createChoice」ではなく、「setChoiceValues」を使用する
・使用した関数について使用例を交えて説明する

生成されたスクリプト(サンプル)

以下、生成されたスクリプトのサンプルです。

function createStudyGroupForm() {
  // Googleフォームの作成
  var form = FormApp.create("勉強会 出欠確認フォーム");

  // フォームの説明文を設定
  form.setDescription("GASを活用した勉強会の出欠確認フォームです。下記の設問にご回答ください。");

  // 基本情報の設問を追加
  form.addTextItem()
      .setTitle("お名前")
      .setRequired(true);

  // 出欠確認の設問を追加
  form.addMultipleChoiceItem()
      .setTitle("勉強会への参加予定")
      .setChoiceValues(["参加する", "参加しない", "未定"])
      .setRequired(true);

  // 興味関心分野の設問を追加
  form.addCheckboxItem()
      .setTitle("興味のあるIT関連分野")
      .setChoiceValues(["プログラミング", "データ分析", "AI・機械学習", "クラウド技術", "その他"]);

  // 追加の設問1: どのような内容を期待しますか?
  form.addParagraphTextItem()
      .setTitle("どのような内容を期待しますか?")
      .setHelpText("簡潔にご記入ください。");

  // 追加の設問2: 質問してみたい内容
  form.addParagraphTextItem()
      .setTitle("勉強会で質問してみたい内容")
      .setHelpText("事前に教えていただけると参考になります。");

  // 追加の設問3: 勉強会に期待する成果
  form.addParagraphTextItem()
      .setTitle("勉強会に期待する成果")
      .setHelpText("具体的に記入してください。");

  // ご意見ご要望
  form.addParagraphTextItem()
      .setTitle("ご意見・ご要望")
      .setHelpText("その他何かご意見があればお書きください。");

  // フォームのリンクをログに出力
  Logger.log("フォームのURL: " + form.getPublishedUrl());
}

実行結果の確認

スクリプト実行後、フォームのURLがログとして表示されます。
URLをクリックしてフォームを開き、意図した内容になっているか確認してください。

以下、生成されたフォームのサンプルです。

フォームサンプル1.JPG

最後に

本記事では、ChatGPTとGASを使って、自主勉強会への参加を呼びかけるフォームを効率的に作る方法を説明しました。
生成されたフォームを改良し、目指す形を作ってみてください!

最後まで読んで頂き、本当にありがとうございました。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?