GASでアンケートを自動化!MultipleChoiceItem.setTitleで業務効率を劇的改善

GASでアンケートを自動化!MultipleChoiceItem.setTitleで業務効率を劇的改善

アンケートの自動化は、日々の業務を効率化する強力な手段です。特に、定期的なアンケートや大量のアンケート処理を行う場合、GAS(Google Apps Script)を活用することで、時間と労力を大幅に削減できます。本記事では、GASのMultipleChoiceItem.setTitle関数に焦点を当て、アンケートの自動化、特に定期的なアンケートの実施と結果のメール送信を効率化する方法を、具体的なコード例を交えて解説します。

MultipleChoiceItem.setTitleとは?

MultipleChoiceItem.setTitleは、Googleフォームの複数選択式質問項目のタイトルを設定するためのGASの関数です。この関数を使用することで、アンケートの質問項目をプログラムで動的に変更できます。例えば、日付や顧客名などを組み込んだ質問を自動生成したり、アンケートの目的に応じて質問文言を柔軟に変更したりすることが可能です。

MultipleChoiceItem.setTitleの基本的な使い方

MultipleChoiceItem.setTitle関数は、FormAppサービスを通じてフォームにアクセスし、MultipleChoiceItemオブジェクトを取得してから使用します。以下は基本的な使用例です。

// フォームと質問項目を取得
const form = FormApp.openById("YOUR_FORM_ID");
const item = form.getItemById("YOUR_ITEM_ID").asMultipleChoiceItem();

// 質問項目のタイトルを設定
item.setTitle("新しい質問タイトル");

上記のコードでは、YOUR_FORM_IDYOUR_ITEM_IDを実際のフォームIDと質問項目IDに置き換える必要があります。

GASでのアンケート自動化:定期実行、メール送信、ファイル操作

GASを活用したアンケート自動化は、様々な業務課題を解決します。ここでは、特に利用頻度の高い「定期実行」「メール送信」に焦点を当て、MultipleChoiceItem.setTitle関数の活用方法を解説します。

定期アンケートの自動化とMultipleChoiceItem.setTitle

例えば、従業員満足度調査や顧客満足度調査などの定期アンケートでは、毎回同じ質問項目を使用するだけでなく、日付や期間を質問タイトルに含めることで、回答者がアンケートの目的を理解しやすくなります。MultipleChoiceItem.setTitleを使用することで、これらの情報を自動的に反映できます。

// フォームと質問項目を取得
const form = FormApp.openById("YOUR_FORM_ID");
const item = form.getItemById("YOUR_ITEM_ID").asMultipleChoiceItem();

// 今日の日付を取得
const today = Utilities.formatDate(new Date(), "JST", "yyyy年MM月dd日");

// 質問項目のタイトルを設定 (例:〇〇に関するアンケート【{日付}実施】)
item.setTitle("〇〇に関するアンケート【" + today + "実施】");

アンケート結果の自動メール送信

アンケート結果を自動的にメールで送信することで、迅速な情報共有と対応が可能になります。MultipleChoiceItem.setTitleは、メールの件名や本文にアンケートのタイトルを動的に含める際に役立ちます。

// フォームと質問項目を取得
const form = FormApp.openById("YOUR_FORM_ID");
const item = form.getItemById("YOUR_ITEM_ID").asMultipleChoiceItem();
const formTitle = form.getTitle();

// メール送信処理 (MailApp.sendEmailはメール送信API)
MailApp.sendEmail({
to: "test@example.com",
subject: "【アンケート結果】" + formTitle + " - " + item.getTitle(),
body: "アンケートにご協力いただきありがとうございました。結果は添付ファイルをご確認ください。",
});

実用的なコード例:自動アンケートの作成と送信

以下は、MultipleChoiceItem.setTitleを活用して、特定の条件に基づいてアンケートを自動作成し、メールで送信する具体的なコード例です。この例では、部署名と日付を質問タイトルに含めることで、回答者がアンケートの目的をより理解しやすくしています。

function createAndSendSurvey() {
// フォームを作成
const form = FormApp.create("【" + getDepartmentName() + "】アンケート - " + Utilities.formatDate(new Date(), "JST", "yyyy/MM/dd") );

// 質問を追加 (複数選択)
const item = form.addMultipleChoiceItem();
item.setTitle("【" + getDepartmentName() + "】現在の業務満足度はいかがですか? - " + Utilities.formatDate(new Date(), "JST", "yyyy/MM/dd") )
.setChoices([
item.createChoice("非常に満足"),
item.createChoice("満足"),
item.createChoice("普通"),
item.createChoice("不満"),
item.createChoice("非常に不満")
]);

// フォームの公開URLを取得
const formUrl = form.getPublishedUrl();

// メールを送信
MailApp.sendEmail({
to: "test@example.com",
subject: "【アンケート】" + form.getTitle(),
body: "以下のURLからアンケートにご回答ください:\n" + formUrl,
});
}

// 部署名を取得する関数(例)
function getDepartmentName() {
// 実際には、スプレッドシートや設定ファイルから取得する場合があります
return "開発部";
}

このコードでは、getDepartmentName()関数で部署名を取得し、アンケートのタイトルと質問タイトルに組み込んでいます。必要に応じて、この関数をカスタマイズしてください。

よくある問題とトラブルシューティング

  • 質問項目IDが間違っている:getItemById()で指定するIDが正しいか確認してください。
  • フォームIDが間違っている:openById()で指定するIDが正しいか確認してください。
  • 権限の問題:GASがフォームにアクセスする権限があるか確認してください。

カスタマイズ方法と応用例

  • 質問タイトルの動的な変更:スプレッドシートのデータに基づいて質問タイトルを変更できます。
  • 回答内容に応じた質問の表示/非表示:回答内容に応じて、特定の質問を表示/非表示にできます。

まとめ

GASのMultipleChoiceItem.setTitle関数を活用することで、アンケートの自動化を効率的に実現できます。特に、定期的なアンケートや大量のアンケート処理を行う場合には、GASによる自動化が大きな効果を発揮します。本記事で紹介したコード例を参考に、ぜひGASを活用したアンケート自動化に挑戦してみてください。

PR

未経験からSNSデザインを学び、在宅ワークで収入を得たい方へ。
Flap DESIGNは、デザインスキルから案件獲得までを徹底サポートするオンラインスクールです。現役プロがマンツーマンで指導するため、挫折しにくい環境が強み。
さらに、受講期間中に案件を獲得できなかった場合は、売上が立つまで営業サポート期間を延長する「売上保証制度」も魅力です。
副業として月8〜20万円を目指したい会社員の方、出産・育児を機に新しい働き方を求める方、フリーランスとして独立を目指す方など、ライフスタイルに合わせた働き方を実現したい方にぴったりのサービスです。まずは無料相談で詳細を聞いてみませんか?

未経験から始める!SNSデザインスクール