Google Apps Script (GAS)を使用して、フォルダ内のすべてのスプレッドシートファイルをコピーして保存する方法です。※使用の際はスプレッドシートの権限やURL、実行動作の理解が必須です。くれぐれも慎重に操作しましょう。
別アカウントにファイルを一式コピーしたい場合などに便利です。
Google Apps Scriptプロジェクトの作成:
Google Driveに移動し、新しいApps Scriptプロジェクトを作成します。これは、「新規」ボタンから「その他」を選択し、「Google Apps Script」を選択することで行えます。
スクリプトの記述:
新しいプロジェクトが作成されたら、以下のスクリプトをエディタに貼り付けます。このスクリプトは、特定のフォルダ内にあるすべてのスプレッドシートを別の指定したフォルダにコピーします。
https://drive.google.com/drive/folders/XXXXXXXXXXX(ここがフォルダID)
function copyAllSpreadsheets() {
var sourceFolderId = 'YOUR_SOURCE_FOLDER_ID'; // コピー元のフォルダIDを設定
var targetFolderId = 'YOUR_TARGET_FOLDER_ID'; // コピー先のフォルダIDを設定
var sourceFolder = DriveApp.getFolderById(sourceFolderId);
var targetFolder = DriveApp.getFolderById(targetFolderId);
var files = sourceFolder.getFilesByType(MimeType.GOOGLE_SHEETS);
while (files.hasNext()) {
var file = files.next();
var copiedFile = file.makeCopy(file.getName() + ' - コピー', targetFolder);
}
}
スクリプト内のYOUR_SOURCE_FOLDER_ID
とYOUR_TARGET_FOLDER_ID
を、それぞれコピー元とコピー先のフォルダIDに置き換えてください。フォルダIDは、Google DriveのURLから取得できます。
スプレッドシートだけでなくドキュメントやGoogleフォームもコピーしたい
スプレッドシートだけでなくドキュメントやGoogleフォームも含めたGoogleドライブ内のさまざまなファイルタイプをコピーしたい場合は次にようにします。
function copyAllFiles() {
var sourceFolderId = 'YOUR_SOURCE_FOLDER_ID'; // コピー元のフォルダIDを設定
var targetFolderId = 'YOUR_TARGET_FOLDER_ID'; // コピー先のフォルダIDを設定
var sourceFolder = DriveApp.getFolderById(sourceFolderId);
var targetFolder = DriveApp.getFolderById(targetFolderId);
var files = sourceFolder.getFiles();
while (files.hasNext()) {
var file = files.next();
file.makeCopy(file.getName() + ' - コピー', targetFolder);
}
}
スクリプトの実行:
スクリプトを保存し、実行します。初めての実行時には、Googleからの認証が必要になります。
結果の確認:
スクリプトの実行後、指定したコピー先のフォルダにすべてのスプレッドシートやファイルがコピーされていることを確認ください。
まとめ
以上の手順で、フォルダ内のすべてのスプレッドシートを別のフォルダにコピーすることができます。Google Apps Scriptの使用方法に不安がある場合は、Googleの公式ドキュメントやチュートリアルを参照ください。