はじめに
Googleフォームとは、Google社が提供しているフォーム作成ツールです。
Googleフォームを使ってファイルをアップロードする場合、ファイルは通常Googleドライブ上のフォームと同じフォルダ内に保存されます。
この保存先をGoogle Apps Scriptを使って任意の場所に変更してみました。
前提
・googleフォームが作成されていること
・フォームの質問の中にファイルアップロードの項目があること
やること
・Google Apps Scriptを使用してスクリプトを書く
・スクリプトのトリガーを設定する
Google Apps Scriptを使用してスクリプトを書く
作成したGoogleファームの右上のメニューからスクリプトエディタを選択します
「コード.gs」の画面になるので以下のコードを記載します
以下のコードは変更箇所が1箇所ありますので気をつけてください
// Googleフォームの送信イベントハンドラ
function onFormSubmit(e) {
if (!e) {
Logger.log("No event object");
return;
}
// 指定フォルダのIDを取得
var folderId = "YOUR_TEMP_FOLDER_ID"; // 指定フォルダのIDに置き換え
var folder = DriveApp.getFolderById(folderId);
// フォームのレスポンスを取得
var responses = e.response.getItemResponses();
// アップロードされたファイルを処理
responses.forEach(response => {
if (response.getItem().getType() == FormApp.ItemType.FILE_UPLOAD) {
var fileIds = response.getResponse();
fileIds.forEach(fileId => {
var fileObj = DriveApp.getFileById(fileId);
fileObj.moveTo(folder);
});
}
});
}
■変更箇所
var folderId = "YOUR_TEMP_FOLDER_ID"
「YOUR_TEMP_FOLDER_ID」の部分を指定のフォルダIDに書き換えます。
ファイルの保存先のフォルダを開き、https://drive.google.com/drive/folders/ の後に続く部分がフォルダIDになります。
スクリプトのトリガーを設定する
フォームの送信時にスクリプトが実行されるように、トリガーを設定します。
すると以下の設定画面になります

イベントのソースで「フォームから」を選択します
イベントの種類で「フォーム送信時」を選択します
設定後、右下の保存を押下してください。
初回時のみ許可を求めるポップアップが出てきますので
googleアカウントにサインインして「Allow」を選択してください。
確認
スクリプトを設定したgoogleフォームからファイルのアップロードを行い、指定のフォルダに保存されているか確認します。
保存されていれば設定は完了となります。
まとめ
googleフォームは簡単にフォームを作成できるため便利なツールだと思います。
googleフォームを使いやすくするためにカスタムできることがあればまた記事にしたいと思います。