スキルアップを始める!

【GAS】フォルダ内のすべてのスプレッドシートやファイルを一括でコピーして別アカウントに保存する

GAS(GoogleAppsScript)
この記事は約4分で読めます。
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

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_IDYOUR_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の公式ドキュメントやチュートリアルを参照ください。

URLをコピーしました!