「GAS(Google Apps Script) Googleスプレッドファイルを一括コピーする方法」のご紹介
ご訪問ありがとうございます。
今回は、「GAS(Google Apps Script) Googleスプレッドファイルを一括コピーする方法」を紹介します。
Googleサービス関連サイトマップのご紹介
Googleサービス関連サイトマップをご紹介します。
Googleサービス関連サイトマップのご紹介 |
|||
学び/学習TOP > IT|ゲーム作り|HP作成 | |||
ITtop > エディタ|プログラミング||| | |||
【GAS(Google Apps Script)】 | |||
ショットカット|MimeType一覧|| 【Googleドライブの操作】 基本編(フォルダ名/URLを取得|スプレットシートのフォルダID取得|ファイル一括取得|フォルダ一括取得|ファイル一括削除||||| 【スプレットシートの操作】 ■基本編(スプレッドシート取得|操作|コピー) ■ファイル操作(一括コピー|ファイル情報一括取得||||) ■シート操作 シート取得|シート非表示/再表示|タブ色変更|シート一括作成/削除 便利機能(目次の自動作成|シートの表示/非表示|メニュー操作) ■セル操作 (1セル操作|複数セル値|(取得|記載)|範囲データをクリア|数式を最終行までコピー|全シート一括値貼り|グループ化|並び替え|連想配列|) ■書式(書式設定|||) ■フォント(フォントの英名確認|フォント/文字サイズを一括変換) ■画像(QRコード生成|画像ファイルを一括生成|||) ■独自メニュー(作成|サブメニュー/区切り線) ■便利なスクリプト(ファイル情報の一括取得||| |
|||
【SEO】 | |||
SEOの歴史|アルゴリズムアップデート|||| | |||
テキストエディタ(サクラエディタ|正規表現) | |||
【プログラミング】 | |||
【C言語】STG作り方|C言語の入門/基礎|リファレンス/サンプル文 | |||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
「GAS(Google Apps Script) Googleスプレッドファイルを一括コピーする方法」のご紹介
今回は、「GAS(Google Apps Script) Googleスプレッドファイルを一括コピーする方法」を紹介します。
今回できること
コピーしたいスプレッドシートをシート一覧に記載した分だけ指定したフォルダに一括コピーします。
スクリプト記述前に準備すること
スクリプト記述前に準備することは、3つあります。
- コピーしたいスプレッドシート名の一覧の作成、
- コピーしたいスプレッドシートの準備、
- コピーされたスプレッドシート格納先フォルダの準備することです。
スクリプト記述前に準備すること |
コピーしたいスプレッドシート名の一覧の作成 |
コピーしたいスプレッドシートの準備 |
コピーされたスプレッドシート格納先フォルダの準備 |
「コピー作成したいスプレッドシート名の一覧の作成」
スプレッドシートにコピーしたいスプレッドシート名一覧を記載して下さい。
名前 | ID |
ぺんぎん | |
しろくま | |
りす | |
しか | |
こまいぬ | |
たぬき | |
きつね |
- 1列目には、作成したいファイル名を、
- 2列目はスクリプト実行後、コピーしたファイルのID番号が自動記述されます。
1列目で作成したファイル名分のスプレッドシートがコピーされます。
コピー作成したいスプレッドシートの準備
コピーしたいスプレッドシートを準備して下さい。
コピーされたスプレッドシート格納先フォルダの準備
コピーされたスプレッドシートを格納するフォルダを準備して下さい。
スクリプト記述手順のご紹介
スクリプト記述手順は以下の通りです。
【2】格納フォルダを取得
【3】コピーしたいファイルを取得
【4】ファイルコピー
【5】IDをシートに記載
function myFunction(){
//【1】名前一覧を取得
//アクティブなスプレッドシートを指定
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブなシートを指定
var sheet = ss.getActiveSheet();
//シート内の行を指定、1行目はカラム行のため-1
var rows = sheet.getLastRow()-1; //1行目はカラム行のため-1
//シート内の列を指定
var datas = sheet.getRange(2,1,rows,1).getValues();
//【2】格納フォルダを取得
var folder = DriveApp.getFolderById("★ここにフォルダIDを記載★");
//【3】コピーしたいファイルを取得
var file = DriveApp.getFileById("★ここにファイルIDを記載★");
//【4】ファイルコピー
//取得データを格納する配列を用意
var values = [];
//datasに対して繰り返し
datas.forEach(function(data){
//dataからデータを抜き出し
var name = data[0];
//ファイルを指定フォルダにコピー
var newFile = file.makeCopy(name, folder);
//コピーした新しいファイルのidを取得
var id = newFile.getId();
//idデータを配列に格納
values.push([id]);
});
//【5】IDをシートに記載
sheet.getRange(2,2,rows,1).setValues(values);
}
解説
【1】名前一覧を取得
最初に名前一覧を取得します。「.getActiveSpreadsheet()」でアクティブなスプレッドシートを指定します。
var ss = SpreadsheetApp.getActiveSpreadsheet();
アクティブなシートを指定します。
var sheet = ss.getActiveSheet();
「.getLastRow()」でシート内の行を指定します。1行目はカラム行のため-1
var rows = sheet.getLastRow()-1;1行目はカラム行のため-1
//シート内の列を指定します。
var datas = sheet.getRange(2,1,rows,1).getValues();
【2】格納フォルダを取得
「.getFolderById()」で格納するフォルダを取得します。ここにフォルダIDを記載して下さい。
var folder = DriveApp.getFolderById("★ここにフォルダIDを記載★");
【3】コピーしたいファイルを取得します。
「.getFileById」でコピーしたいファイルを取得します。ここにファイルIDを記載して下さい。
var file = DriveApp.getFileById("★ここにファイルIDを記載★");
【4】ファイルコピー
ファイルコピーするスクリプトを記載します。「values = []」で取得データを格納する配列を用意します。
var values = [];
「.forEach文」でdatasに対して繰り返し文を記載します。
datas.forEach(function(data){
「data」からデータを抜き出します。
var name = data[0];
「.makeCopy()」でファイルを指定フォルダにコピーします。
var newFile = file.makeCopy(name, folder);
「.getId()」でコピーした新しいファイルのidを取得します。
var id = newFile.getId();
「.push()」でidデータを配列に格納します。
values.push([id]);
【5】IDをスプレッドシートに記載
「.getRange」で範囲を指定し、「.setValues()」でIDをシートに記載します。
sheet.getRange(2,2,rows,1).setValues(values);
「getRange(2,2,rows,1)」の「2.2」(B2)で2行目の2列目からIDを記載をはじめます。
1 | 2 | |
A | B | |
1 | 名前 | ID |
2 | ぺんぎん | |
3 | しろくま | |
4 | りす | |
5 | しか | |
6 | こまいぬ | |
7 | たぬき | |
8 | きつね |
「rows,1」でB2から始まる行と列の範囲をしてします。
- 行は「.getLastRow()」を参照した行の最終行まで指定します。
- 列は、1列を指定します。
var rows = sheet.getLastRow()-1;1行目はカラム行のため-1
キーボードのCtrl+Rでスクリプトが実行されます。
結果
スプレッドシートにコピーされたファイルIDが記載され、格納フォルダにファイルがコピーされています。
名前 | ID |
ぺんぎん | 1tbQqHPEFw8YnU6eUcu4YSi_3P9xWWhnnmMPoCkzvmTo |
しろくま | 1oYVPB3e9bR0K49sEkrT8X6FGQe30lZMiEXswdyQnnfk |
りす | 1cIjsRROUDqIjtHvLlA1VKPdIKVOTZzgpAqllKxmXtac |
しか | 1716iE6SWv-KkTbFj8slZ40qL3aMgfJXfrLp5pnxfkmE |
こまいぬ | 1l3_InwPQymfjm508nOQ8Sl8iW-rNuAmwzi53leD_qIo |
たぬき | 18FFe3gJF1-B0iXjuSXSJkfzHnxkspgAWM0plV-oxw2o |
きつね | 1rIKR9urRPVcbXZbVuo813l1s4kZTJ0CUDS-uy4JN4VQ |
Googleサービス関連サイトマップのご紹介
Googleサービス関連サイトマップをご紹介します。
Googleサービス関連サイトマップのご紹介 |
|||
学び/学習TOP > IT|ゲーム作り|HP作成 | |||
ITtop > エディタ|プログラミング||| | |||
【GAS(Google Apps Script)】 | |||
ショットカット|MimeType一覧|| 【Googleドライブの操作】 基本編(フォルダ名/URLを取得|スプレットシートのフォルダID取得|ファイル一括取得|フォルダ一括取得|ファイル一括削除||||| 【スプレットシートの操作】 ■基本編(スプレッドシート取得|操作|コピー) ■ファイル操作(一括コピー|ファイル情報一括取得||||) ■シート操作 シート取得|シート非表示/再表示|タブ色変更|シート一括作成/削除 便利機能(目次の自動作成|シートの表示/非表示|メニュー操作) ■セル操作 (1セル操作|複数セル値|(取得|記載)|範囲データをクリア|数式を最終行までコピー|全シート一括値貼り|グループ化|並び替え|連想配列|) ■書式(書式設定|||) ■フォント(フォントの英名確認|フォント/文字サイズを一括変換) ■画像(QRコード生成|画像ファイルを一括生成|||) ■独自メニュー(作成|サブメニュー/区切り線) ■便利なスクリプト(ファイル情報の一括取得||| |
|||
【SEO】 | |||
SEOの歴史|アルゴリズムアップデート|||| | |||
テキストエディタ(サクラエディタ|正規表現) | |||
【プログラミング】 | |||
【C言語】STG作り方|C言語の入門/基礎|リファレンス/サンプル文 | |||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
Googleサービス関連ページのご紹介
Googleサービス関連ページをご紹介します。
「学ぶ」学習用関連サイトマップのご紹介
「学ぶ」学習用関連サイトマップをご紹介します。
「学ぶ」学習用関連サイトマップのご紹介 |
|||
学び/学習TOP > IT|ゲーム作り|HP作成 | |||
【IT】エディタ/正規表現|プログラミング| 【ゲーム作り】STG作り方|C言語の入門/基礎|リファレンス/サンプル文 【HP作成】WordPress|Cocoon|便利テクニック |
|||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「学ぶ」学習用関連ページのご紹介
「学ぶ」学習用関連ページをご紹介
コペンギン・サイトマップ
コペンギンのサイトマップをご紹介します。
【コペンギンTOP】サイトマップ | ||||
コペンギンTOP > ゲーム│ホビー│書籍・マンガ│ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介
コペンギン関連ページをご紹介します。