LoginSignup
1
1

Googleフォームでファイルのアップロード先を任意のフォルダに変更する

Last updated at Posted at 2024-06-26

はじめに

Googleフォームとは、Google社が提供しているフォーム作成ツールです。
Googleフォームを使ってファイルをアップロードする場合、ファイルは通常Googleドライブ上のフォームと同じフォルダ内に保存されます。
この保存先をGoogle Apps Scriptを使って任意の場所に変更してみました。

前提

・googleフォームが作成されていること
・フォームの質問の中にファイルアップロードの項目があること

やること

・Google Apps Scriptを使用してスクリプトを書く
・スクリプトのトリガーを設定する

Google Apps Scriptを使用してスクリプトを書く

作成したGoogleファームの右上のメニューからスクリプトエディタを選択します
IAM

「コード.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になります。

スクリプトのトリガーを設定する

フォームの送信時にスクリプトが実行されるように、トリガーを設定します。

左側のメニューからトリガーを選択します
IAM

右下にある「トリガーを追加」を押下します
IAM!

すると以下の設定画面になります

IAM

イベントのソースで「フォームから」を選択します
イベントの種類で「フォーム送信時」を選択します

設定後、右下の保存を押下してください。

初回時のみ許可を求めるポップアップが出てきますので
googleアカウントにサインインして「Allow」を選択してください。
IAM

確認

スクリプトを設定したgoogleフォームからファイルのアップロードを行い、指定のフォルダに保存されているか確認します。
保存されていれば設定は完了となります。

まとめ

googleフォームは簡単にフォームを作成できるため便利なツールだと思います。
googleフォームを使いやすくするためにカスタムできることがあればまた記事にしたいと思います。

1
1
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
1
1