別のシートの特定セルの値をアクティブシートへ転記する
アクティブシートと別のスプレットシートを開いておき、別のスプレットシートからアクティブシートへ特定のセルの値を転記するGASのコードです。
function transferCellValue() {
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = activeSpreadsheet.getActiveSheet();
// 別のスプレッドシートを開く
var otherSpreadsheetId = "別のスプレットシートのID";
var otherSpreadsheet = SpreadsheetApp.openById(otherSpreadsheetId);
var sheets = otherSpreadsheet.getSheets();
for (var i = 0; i < sheets.length; i++) {
Logger.log(sheets[i].getName());
}
// 別のスプレットシートのシート1のB2の値を取得してアクティブシートのB3に転記する
var otherSheet = otherSpreadsheet.getSheetByName("シート1");
var cellValue = otherSheet.getRange("B2").getValue();
activeSheet.getRange("B3").setValue(cellValue);
}
解説
transferCellValue
関数が定義されています。この関数は、特定のセルの値を転記する処理を行います。var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
によって、現在アクティブなスプレッドシートオブジェクトを取得しています。var activeSheet = activeSpreadsheet.getActiveSheet();
によって、アクティブなスプレッドシート内のアクティブなシート(現在表示されているシート)オブジェクトを取得しています。var otherSpreadsheetId = "11OH0437QP_5qEvyZiQXi5uOf_g16BMcAA200UG0k1kI";
によって、別のスプレッドシートのIDを指定しています。このIDは、別のスプレッドシートのURLから取得できます。var otherSpreadsheet = SpreadsheetApp.openById(otherSpreadsheetId);
によって、指定したIDを持つ別のスプレッドシートを開いています。SpreadsheetApp.openById()
メソッドは、指定したIDに基づいてスプレッドシートオブジェクトを取得します。var sheets = otherSpreadsheet.getSheets();
によって、別のスプレッドシート内のすべてのシートオブジェクトを配列として取得しています。これにより、別のスプレッドシート内のシートにアクセスできます。for
ループを使用して、sheets
配列内の各シートの名前をログに出力しています。これにより、別のスプレッドシート内のシート名を確認できます。var otherSheet = otherSpreadsheet.getSheetByName("シート1");
によって、別のスプレッドシート内の特定のシート(この場合は “シート1″)オブジェクトを取得しています。var cellValue = otherSheet.getRange("B2").getValue();
によって、別のシート内のセル “B2” の値を取得しています。activeSheet.getRange("B3").setValue(cellValue);
によって、アクティブなスプレッドシートのアクティブなシートのセル “B3” に、取得したセルの値を転記しています。
コメント