Google Spreadsheetを特定のフォルダに新規作成
- Google Drive上に適当なフォルダを作成してそのフォルダを開く。
- URLからIDを確認する。たとえば,「https://drive.google.com/drive/u/1/folders/0B5ucsT8e6********dJM0NpWXM」の「folders/」の後ろの部分が,フォルダのID。
- 次のcreateSpreadsheetInfolderの第一引数「**********」は,そのフォルダIDを指定し,第二引数でSpreadsheetのファイル名を指定する。
- あとはIDをゲットしてオープンして,アクティブシート設定して,アクティブシートをゲットして,setValue, getValueでセルへの書き込みと読み込みができる。
テンプレート
function main(){
var ssNew = createSpreadsheetInfolder("**********", "test");//フォルダのIDは別途調べておく
var ssNewID = ssNew.getId();//IDをゲット
var ssNewFile = SpreadsheetApp.openById(ssNewID);//オープン
var activeSpreadsheet = SpreadsheetApp.setActiveSpreadsheet(ssNewFile);//アクティブシートに設定,操作が有効なシート
var masterSheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];//アクティブシートをゲットする
setValue(masterSheet, 1, 1, "データ");
・・・
}
function createSpreadsheetInfolder(folderID, fileName) {
var folder = DriveApp.getFolderById(folderID);
var newSS=SpreadsheetApp.create(fileName);
var originalFile=DriveApp.getFileById(newSS.getId());
var copiedFile = originalFile.makeCopy(fileName, folder);
DriveApp.getRootFolder().removeFile(originalFile);
return copiedFile;
}
function getValue(sheet,row,col) {//spreadsheetからrow行のcal列のデータをもらってくる関数
var value = sheet.getRange(row, col).getValue();
return value;
}
function setValue(sheet,row,col,value){//row行のcal列にデータをセットする関数
var cell = sheet.getRange(row,col);
cell.setValue(value);
}