例文を使って繰り返し業務を時短

【GAS】別ブックをコピーしてGドライブの別フォルダに保存

【GAS】別ブックをコピーしてGドライブの別フォルダに保存 GAS

別ブックをGoogleドライブの特定フォルダに保存する

GASを使用して、別のスプレッドシートのブック全体をコピーして特定のドライブを指定して貼り付ける方法は次のようになります。

  1. 別のスプレッドシートを開く
javascriptCopy codevar ss = SpreadsheetApp.openById('スプレッドシートID');
  1. スプレッドシートのブックをコピーする
javascriptCopy codevar copy = DriveApp.getFileById(ss.getId()).makeCopy('コピーしたスプレッドシート名');
  1. 貼り付け先のドライブを指定する
javascriptCopy codevar folder = DriveApp.getFolderById('貼り付け先のフォルダID');
copy = copy.moveTo(folder);
  1. 貼り付けたファイルを新しいスプレッドシートとして開く
javascriptCopy codevar newSs = SpreadsheetApp.openById(copy.getId());

これにより、別のスプレッドシートのブック全体をコピーして、特定のドライブを指定して貼り付けることができます。ただし、スプレッドシートIDやフォルダID、コピーしたスプレッドシート名は、それぞれのスプレッドシートとフォルダに合わせて変更する必要があります。また、貼り付けたファイルを新しいスプレッドシートとして開くことで、そのスプレッドシートで必要な処理を行うことができます。

別のスクリプト

コピー元のスプレッドシート全体が新しいスプレッドシートにコピーされ、新しいフォルダーが作成されます。そして、新しいスプレッドシートがそのフォルダーに移動されます。

function copySpreadsheetToFolder() {
  // Step 1: Get the ID of the spreadsheet to copy
  var spreadsheetId = "<spreadsheet-id>"; // Replace with the ID of the spreadsheet to copy

  // Step 2: Create a new spreadsheet
  var newSpreadsheet = SpreadsheetApp.create("<new-spreadsheet-name>");

  // Step 3: Copy the source spreadsheet to the new spreadsheet
  var sourceSpreadsheet = SpreadsheetApp.openById(spreadsheetId);
  sourceSpreadsheet.copyTo(newSpreadsheet);

  // Step 4: Create a new folder
  var folder = DriveApp.createFolder("<new-folder-name>");

  // Step 5: Move the new spreadsheet to the new folder
  var file = DriveApp.getFileById(newSpreadsheet.getId());
  file.setParent(folder);
}

解説

  1. スプレッドシートのIDを取得する
    • スプレッドシートIDは、URLの「/d/」と「/edit」の間の部分です。
  2. 新しいスプレッドシートを作成する
    • コピー元のスプレッドシートと同じフォルマットで、新しいスプレッドシートを作成します。これには、SpreadsheetApp.create()メソッドを使用します。
    • 変数newSpreadsheetに、新しいスプレッドシートを作成します。SpreadsheetApp.create()メソッドを使用して、新しいスプレッドシートを作成し、作成されたスプレッドシートのオブジェクトを返します。ここでは、<new-spreadsheet-name>という文字列が指定されていますが、実際には新しいスプレッドシートの名前に置き換える必要があります。
  3. コピー元のスプレッドシートを新しいスプレッドシートにコピーする
    • copyTo()メソッドを使用して、コピー元のスプレッドシート全体を新しいスプレッドシートにコピーします。
    • 変数sourceSpreadsheetに、コピー元のスプレッドシートを開きます。SpreadsheetApp.openById()メソッドを使用して、IDを指定してスプレッドシートを開くことができます。
    • sourceSpreadsheet.copyTo(newSpreadsheet)メソッドを使用して、コピー元のスプレッドシートを新しいスプレッドシートにコピーします。このメソッドは、コピー元のスプレッドシートの内容を新しいスプレッドシートにコピーします。
  4. フォルダーを作成する
    • DriveApp.createFolder()メソッドを使用して、新しいフォルダーを作成します。
    • 変数folderに、新しいフォルダを作成します。DriveApp.createFolder()メソッドを使用して、新しいフォルダを作成します。
  5. 新しいスプレッドシートをフォルダーに移動する
    • setParent()メソッドを使用して、新しいスプレッドシートを作成したフォルダーに移動します。

コメント

タイトルとURLをコピーしました