[英]Copy template spreadsheet to folder, then write to the new copy (google script)
I need to copy a template spreadsheet to a folder, then write to C3 in the new copy. 我需要将模板电子表格复制到文件夹,然后在新副本中写入C3。
//get template
var SStemplate = "URL here";
var SStocopy = SpreadsheetApp.openByUrl(SStemplate);
//set destination folder
var SSdestFolder = DriveApp.getFolderById("0B-hjh1DycmoweEl5ZmgxdFBRYzg");
//copy template to destination
DriveApp.getFileById(SStocopy.getId()).makeCopy(name, SSdestFolder);
Once I have created the copy, how do I activate it in order to set the value of cell C3? 创建副本后,如何激活它以设置单元格C3的值?
Here's the final working version: 这是最终的工作版本:
function newprojectdocuments(){
//activate current sheet to get new project ID
var trackerss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = trackerss.getSheetByName('AutoTracker');
var range = sheet.getRange('F1:F1');
var foldername = range.getValues();
if( foldername.toString().length === 7 ){
//get template spreadsheet to make copy
var SStemplate = "url";
var SStocopy = SpreadsheetApp.openByUrl(SStemplate);
//set destination folder for new project spreadsheet
var SSdestFolder = DriveApp.getFolderById("ID");
//copy template to the spreadsheet folder
var newFile = DriveApp.getFileById(SStocopy.getId()).makeCopy(foldername,
SSdestFolder);
//open the new file
var ss = SpreadsheetApp.openById(newFile.getId());
var sheet = ss.getSheetByName('Overview');
//Write the value you want in C3 cell
sheet.getRange("C3").setValue(foldername);
//create new folder in deal documents folder
var dealfolder=DriveApp.getFolderById("ID");
var newfolder=dealfolder.createFolder(foldername)
if( foldername.toString().length === 7 ){
Browser.msgBox( "Project " + foldername + " folder & spreadsheet created!
Refresh the tracker to display." )
}
} else {
Browser.msgBox('Project ID must be 7 digits: YYMMDDN format')
}
}
The makeCopy() method return the new File. makeCopy()方法返回新文件。 Use it to go in it like: 用它来像这样进入它:
//get template
var SStemplate = "URL here";
var SStocopy = SpreadsheetApp.openByUrl(SStemplate);
//set destination folder
var SSdestFolder = DriveApp.getFolderById("0B-hjh1DycmoweEl5ZmgxdFBRYzg");
//copy template to destination
var newFile = DriveApp.getFileById(SStocopy.getId()).makeCopy(name, SSdestFolder);
//open the new file
var ss = SpreadsheetApp.openById(newFile.getId());
var sheet = ss.getActiveSheet();
//Write the value you want in C3 cell
sheet.getRange("C3").setValue("test");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.