GASで予算管理フォームを効率化!Form.addMultipleChoiceItemで柔軟な選択肢を作成

GASで予算管理フォームを効率化!Form.addMultipleChoiceItemで柔軟な選択肢を作成

予算管理、経費精算、請求書作成といった財務・会計業務において、Google Apps Script (GAS) は非常に強力なツールとなります。特に、Form.addMultipleChoiceItem 関数を使用することで、予算申請や経費申請フォームをより柔軟かつ効率的に作成できます。この記事では、Form.addMultipleChoiceItem の基本的な使い方から、財務・会計業務での実践的な応用例、さらにはよくある問題とその解決策までを詳しく解説します。

Form.addMultipleChoiceItemとは?

Form.addMultipleChoiceItem は、Googleフォームに複数の選択肢を持つ質問項目を追加するためのGASの関数です。この関数を使うことで、ユーザーは事前に定義された選択肢の中から一つを選ぶことができます。例えば、予算申請フォームにおける「申請の種類」や、経費精算フォームにおける「経費の種類」といった項目に活用できます。

基本的な使い方

Form.addMultipleChoiceItem の基本的な使い方は以下の通りです。

function createMultipleChoiceItem() {
// フォームを取得
const form = FormApp.getActiveForm();

// 複数選択式の質問項目を追加
const item = form.addMultipleChoiceItem();
item.setTitle("申請の種類を選択してください");
item.setChoices([
item.createChoice("予算申請"),
item.createChoice("経費精算"),
item.createChoice("請求書発行依頼")
]);

// 必須項目に設定
item.setRequired(true);
}

このコードでは、まずアクティブなフォームを取得し、addMultipleChoiceItem 関数で新しい質問項目を作成しています。次に、setTitle で質問のタイトルを設定し、setChoices で選択肢を追加しています。createChoice 関数を使って各選択肢を作成し、最後に setRequired で必須項目に設定しています。

財務・会計業務での実装方法

財務・会計業務では、Form.addMultipleChoiceItem を活用することで、様々な業務課題を解決できます。以下に具体的な実装例をいくつか紹介します。

1. 予算申請フォームの効率化

予算申請フォームでは、申請の種類や申請部門を複数選択肢として設定することで、申請者は簡単に必要な情報を入力できます。

function createBudgetRequestForm() {
const form = FormApp.getActiveForm();

// 申請種類の選択肢
const requestTypeItem = form.addMultipleChoiceItem();
requestTypeItem.setTitle("申請の種類を選択してください");
requestTypeItem.setChoices([
requestTypeItem.createChoice("新規予算申請"),
requestTypeItem.createChoice("追加予算申請"),
requestTypeItem.createChoice("予算変更申請")
]);
requestTypeItem.setRequired(true);

// 申請部門の選択肢
const departmentItem = form.addMultipleChoiceItem();
departmentItem.setTitle("申請部門を選択してください");
departmentItem.setChoices([
departmentItem.createChoice("営業部"),
departmentItem.createChoice("開発部"),
departmentItem.createChoice("マーケティング部"),
departmentItem.createChoice("人事部")
]);
departmentItem.setRequired(true);
}

このコードでは、申請の種類と申請部門をそれぞれ複数選択肢として設定しています。これにより、申請者は必要な情報を迷うことなく選択できます。

2. 経費精算フォームの自動化

経費精算フォームでは、経費の種類や支払い方法を複数選択肢として設定することで、経費精算処理を効率化できます。

function createExpenseReportForm() {
const form = FormApp.getActiveForm();

// 経費種類の選択肢
const expenseTypeItem = form.addMultipleChoiceItem();
expenseTypeItem.setTitle("経費の種類を選択してください");
expenseTypeItem.setChoices([
expenseTypeItem.createChoice("交通費"),
expenseTypeItem.createChoice("宿泊費"),
expenseTypeItem.createChoice("会議費"),
expenseTypeItem.createChoice("交際費"),
expenseTypeItem.createChoice("消耗品費")
]);
expenseTypeItem.setRequired(true);

// 支払い方法の選択肢
const paymentMethodItem = form.addMultipleChoiceItem();
paymentMethodItem.setTitle("支払い方法を選択してください");
paymentMethodItem.setChoices([
paymentMethodItem.createChoice("現金"),
paymentMethodItem.createChoice("クレジットカード"),
paymentMethodItem.createChoice("銀行振込")
]);
paymentMethodItem.setRequired(true);
}

このコードでは、経費の種類と支払い方法をそれぞれ複数選択肢として設定しています。これにより、経費精算者は正確な情報を入力しやすくなり、経理担当者はスムーズに処理を進めることができます。

3. 請求書作成依頼フォームの簡素化

請求書作成依頼フォームでは、請求書の形式や送付方法を複数選択肢として設定することで、請求書作成プロセスを簡素化できます。

function createInvoiceRequestForm() {
const form = FormApp.getActiveForm();

// 請求書形式の選択肢
const invoiceFormatItem = form.addMultipleChoiceItem();
invoiceFormatItem.setTitle("請求書形式を選択してください");
invoiceFormatItem.setChoices([
invoiceFormatItem.createChoice("PDF"),
invoiceFormatItem.createChoice("Excel"),
invoiceFormatItem.createChoice("郵送")
]);
invoiceFormatItem.setRequired(true);

// 送付方法の選択肢
const deliveryMethodItem = form.addMultipleChoiceItem();
deliveryMethodItem.setTitle("送付方法を選択してください");
deliveryMethodItem.setChoices([
deliveryMethodItem.createChoice("メール"),
deliveryMethodItem.createChoice("郵送")
]);
deliveryMethodItem.setRequired(true);
}

このコードでは、請求書形式と送付方法をそれぞれ複数選択肢として設定しています。これにより、請求書作成依頼者は簡単に必要な情報を指定でき、経理担当者は迅速に請求書を作成できます。

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

Form.addMultipleChoiceItem を使用する際に、以下のような問題が発生することがあります。

  • 選択肢が正しく表示されない:createChoice 関数で選択肢を作成する際に、引数の型が間違っている可能性があります。必ず文字列として渡してください。
  • フォームが正常に動作しない:GASの実行権限が不足している可能性があります。スクリプトエディタで実行権限を確認し、必要な権限を付与してください。
  • フォームの見た目が崩れる:フォームのデザイン設定が適切でない可能性があります。フォームのデザイン設定を見直し、必要に応じてCSSをカスタマイズしてください。

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

Form.addMultipleChoiceItem は、様々な方法でカスタマイズできます。例えば、選択肢に応じてフォームの表示内容を変更したり、選択された値をスプレッドシートに自動的に記録したりすることができます。

function onChange(e) {
const formResponse = e.response;
const itemResponses = formResponse.getItemResponses();

// 申請種類の選択肢の回答を取得
const requestType = itemResponses[0].getResponse();

// スプレッドシートを取得
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("回答");

// 回答をスプレッドシートに記録
sheet.appendRow([new Date(), requestType]);
}

このコードでは、フォームの回答に応じてスプレッドシートにデータを記録しています。onChange 関数は、フォームが送信されるたびに実行されます。itemResponses で各質問項目の回答を取得し、getResponse で選択された値を取得しています。最後に、appendRow でスプレッドシートにデータを記録しています。

まとめ

Form.addMultipleChoiceItem は、Googleフォームに複数の選択肢を持つ質問項目を追加するための非常に便利な関数です。財務・会計業務において、予算申請、経費精算、請求書作成といった様々な業務を効率化するために活用できます。この記事で紹介したコード例やトラブルシューティングを参考に、ぜひ Form.addMultipleChoiceItem を活用して、業務効率を向上させてください。

PR

CodeCampは、現役エンジニアからマンツーマンで学べるオンラインプログラミングスクールです。WebデザインやWebサービス開発、転職支援など、目的に合わせた多様なコースが選べます。
朝7時〜夜23時40分まで、365日レッスンが受けられるため、忙しい方でも自分のペースで学習を進めることが可能です。通過率8%の厳しい選考を通過した質の高い講師陣が、あなたのキャリアチェンジを強力にサポートします。
さらに、未経験者向けのカリキュラムや、学習開始から20日以内の全額返金保証制度もあるため、プログラミング学習に不安を感じている方でも安心して始めることができます。

CodeCampで理想の働き方を実現しよう