複数データを転記する
指定されたフォルダとスプレッドシートからデータをコピーし、指定されたシートとセルに転記するGASのスクリプトです。
function copyData() {
// フォルダID、スプレッドシートID、シート名、転記元のセル範囲、転記先のセル範囲を設定
var folderId = "XXXXXXXXXXXXXXXXXXXX";
var spreadsheetId = "XXXXXXXXXXXXXXXXXXXX";
var sheetName = "Sheet1";
var sourceRange = "B2:B6";
var destinationCell = "C2";
// フォルダとスプレッドシートを取得
var folder = DriveApp.getFolderById(folderId);
var file = DriveApp.getFileById(spreadsheetId);
var sheet = file.getSheetByName(sheetName);
// データのコピー
var sourceValues = sheet.getRange(sourceRange).getValues();
var destinationRange = sheet.getRange(destinationCell + ":" + destinationCell).offset(0, sourceValues[0].length - 1);
destinationRange.setValues(sourceValues);
// アクティブシートに完了メッセージを表示
SpreadsheetApp.getActive().toast('データを転記しました', '完了', 5);
}
解説
copyData()
関数: メインの関数であり、データの転記と完了メッセージの表示を行います。- 変数の設定:
folderId
: データをコピーするフォルダのIDを指定します。spreadsheetId
: データをコピーするスプレッドシートのIDを指定します。sheetName
: データを転記するシートの名前を指定します。sourceRange
: 転記元のデータの範囲を指定します。例では、B2からB6までのセルを指定しています。destinationCell
: 転記先の最初のセルを指定します。例では、C2を指定しています。
- フォルダとスプレッドシートの取得:
DriveApp.getFolderById(folderId)
: 指定されたフォルダIDを使用して、フォルダを取得します。DriveApp.getFileById(spreadsheetId)
: 指定されたスプレッドシートIDを使用して、スプレッドシートを取得します。file.getSheetByName(sheetName)
: 取得したスプレッドシートから指定された名前のシートを取得します。
- データのコピー:
sheet.getRange(sourceRange).getValues()
: 転記元の範囲からデータを取得し、sourceValues
に代入します。sheet.getRange(destinationCell + ":" + destinationCell)
: 転記先の範囲を取得します。例では、C2からデータの幅に応じた範囲を取得しています。destinationRange.setValues(sourceValues)
:sourceValues
の値を転記先の範囲に設定します。
- 完了メッセージの表示:
SpreadsheetApp.getActive().toast('データを転記しました', '完了', 5)
: アクティブなスプレッドシートに対して、指定されたメッセージを表示します。メッセージは「データを転記しました」というテキストで、5秒間表示されます。
このコードは、Google Apps Script を使用して Google スプレッドシートのデータを操作する方法の一例です。指定されたフォルダとスプレッドシートのID、シート名、範囲に応じて、データの転記が行われます。また、転記が完了した際には完了メッセージが表示されます。
コメント