スプレッドシートに2つのシート(シート1, シート2)があって
こういうオブジェクトでidとnameを取得したい
{
sheets=[
{
name=シート1,
id=0
},
{
name=シート2,
id=1108729736
}
],
name=無題のスプレッドシート,
id=1MbkVY162q27yF0h4aNnxxxxxxxxxxxxxx
}
コード.gs
function getSSObject(){
var ssUrl = "https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0";// 対象のスプレッドシートのURL
var ss = SpreadsheetApp.openByUrl(ssUrl);
var ssObj = {};
ssObj["id"] = ss.getId();
ssObj["name"] = ss.getName();
ssObj["sheets"] = getSheetsObjArray(ss);
Logger.log(ssObj);
}
function getSheetsObjArray(ss) {
var sheets = ss.getSheets();
var sheetsObjArray = [];
for(var i = 0; i < sheets.length; i++) {
var obj = {}
var sheet = sheets[i];
obj["name"] = sheet.getSheetName();
obj["id"] = sheet.getSheetId();
sheetsObjArray.push(obj);
}
return sheetsObjArray;
}
|
参考
openByUrl(url)
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#openByUrl(String)
Class Spreadsheet
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet.html