【GAS、Google Spreadsheet】Googleドライブ内の指定したフォルダに所定のファイルをコピーするスクリプトです

439 語
2 分
【GAS、Google Spreadsheet】Googleドライブ内の指定したフォルダに所定のファイルをコピーするスクリプトです

はじまり#

135ml avatar
135ml
おい! あの庭どうなってるんだ!
リサちゃん avatar
リサちゃん
あー、大根を干している間につい食べてしまうから、あらかじめ大量に敷いておけば食べても大丈夫だと思ったわけよ。
135ml avatar
135ml
敷き過ぎだ! 福岡県のどっかにある太陽光発電パネル並に敷き詰められているじゃないか! メガ沢庵じゃないか!
リサちゃん avatar
リサちゃん
どうやらコピーし過ぎてしまったようだな ボリボリ

ツールの紹介#

今回のツールは、下記のシートの赤線で囲まれた部分になります。

J4セルから、以下の情報が入力されています。

  • J4セル・・・出力先フォルダのID
  • J5セル・・・出力先フォルダのURL
  • J6セル・・・コピー先のファイル名(今回は「【Quora】」)
  • J7セル・・・コピーで作成するファイル数

そして、「copyFileToTargetFolder()」ボタンを押すとスクリプトが走り、終了するとJ4セルのIDのフォルダ内に、J6セルのファイル名のファイルが作成されます。

実際に確認します。J5セルをクリックして、フォルダのURLに飛びます。すると、ファイルが作成されていることが確認できます。

シートの造り#

ボタンに割り当てられている関数は、「copyFileToTargetFolder」となっています。

スクリプトの紹介#

以下が今回使用したスクリプトになります。 拡張機能から「Apps Script」を開いて、以下のスクリプトを打ち込んで先程のシートの設定をすると、使用できます。

出力元となるテンプレートファイルをTemplateFileで定義します。

そして、TemplateFile.makeCopy('出力するファイル',' 出力先フォルダ')で、ファイルを作成します。

function copyFileToTargetFolder() {
// 変数宣言
var OutputFolderId,
OutputFileName,
OutputFileAmount,
sheetName = '【出力結果】フォルダのURL',
ss,
column_index;
ss = SpreadsheetApp.getActive();
sheet = ss.getSheetByName(sheetName);
column_index = 10; // J列のインデックス
OutputFolderId = sheet.getRange(4, column_index).getValue(); // 出力先フォルダID(H4セルのフォルダID)
OutputFileName = sheet.getRange(6, column_index).getValue(); // 出力ファイル名(H6セルのファイル名)
OutputFileAmount = Number(sheet.getRange(7, column_index).getValue()); // 出力ファイル数(H7セルのファイル数)
// テンプレートファイル(「yyyyMMdd(E)」)
var TemplateFile = DriveApp.getFileById('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
// 出力先フォルダ(H4セルのフォルダ)
var OutputFolder = DriveApp.getFolderById(OutputFolderId);
// ファイルをコピーする。
for (let k = 0; k < OutputFileAmount; k++) {
TemplateFile.makeCopy(OutputFileName, OutputFolder);
}
// ●実行ステータス入力:完了確認(H8セルへのステータス確認)
// Utilities.sleep(1000);
sheet.getRange(8, column_index).setValue('Terminated!');
// ●実行ステータス入力:実行待ち(H8セルへのステータス入力)
// Utilities.sleep(1000);
// sheet.getRange(8, column_index).setValue('Waiting...');
}

おしまい#

135ml avatar
135ml
よし、今回はこんなもんだなぁ ボリボリ
リサちゃん avatar
リサちゃん
ボリボリボリボリボリボリ

以上になります!

記事を共有

この記事が役に立ったなら、ぜひ他の人と共有してください!

【GAS、Google Spreadsheet】Googleドライブ内の指定したフォルダに所定のファイルをコピーするスクリプトです
https://endorphinbath.com/posts/gas-copy-file-into-folder/
著者
kinkinbeer135ml
公開日
2021-11-29
ライセンス
CC BY-NC-SA 4.0
関連記事 スマート
1
【GAS、Google Spreadsheet】Googleドライブ内の指定したファイルをそれぞれ好みの名前に一気にリネームするスクリプトです
Code GoogleDriveの指定のファイルを一括でリネームできるツールを作りました。既に沢山作ってしまったファイルの命名規則を変えたいときなどにご活用下さい。
2
【GAS、Google Spreadsheet】Googleドライブのフォルダに有るファイルを一覧で取得するスクリプトです
Code GoogleDriveの指定のフォルダにあるファイルを一覧で取得します。Googleドライブを整理したい時に役立つツールになるかと思います。
3
【GAS、Google Spreadsheet】Googleドライブのルートフォルダに有るフォルダを一覧で取得するスクリプトです
Code GoogleDriveのルートフォルダにあるフォルダを一覧で取得します。Googleドライブを整理したい時に役立つツールになるかと思います。
4
【GAS、Google Spreadsheet】ブログに使用した画像をGoogleドライブで管理するために書いたスクリプト
Code 僕は、既に公開した記事で使用したファイルをGoogleドライブの所定のフォルダに保存しています。その画像を完了済みのフォルダに定期的に移動してくれるスクリプトを作りました。
5
【GAS、Google Spreadsheet】Google Driveに共有したWebサイトのURLをGoogleスプシに転記する。
Code Googleドライブに共有したWebサイトのURLが載ったテキストファイルを読み込んで、Googleスプシに転記するツールを作りました。後で読みたいと思った記事を一元管理できて便利に使えています。
ランダム記事 ランダム
Profile Image of the Author
kinkinbeer135ml
SIerをやめて、プログラミングを勉強しています。※Amazonアソシエイトに参加しています。
お知らせ
私のブログへようこそ!これはサンプルのお知らせです。
音楽
カバー

音楽

再生中なし

0:00 0:00
歌詞なし
カテゴリ
タグ
サイト統計
記事
287
カテゴリー
8
タグ
93
総文字数
486,174
運用日数
0
最終活動
0 日前

目次