简体   繁体   English

将模板电子表格复制到文件夹,然后写入新副本(Google脚本)

[英]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.

相关问题 Google脚本-将动态范围复制到新的电子表格 - Google Script - Copy dynamic range to new spreadsheet Google脚本可复制列的值并在电子表格中插入新列 - Google Script to copy the values of a column and insert a new column in spreadsheet 将工作表复制到另一个电子表格[Google Apps脚本] - Copy sheet to another spreadsheet [Google Apps Script] 将过滤后的范围从一个电子表格复制到另一个 - Google 应用脚本 - Copy filtered range from one spreadsheet to another - Google app script Alfresco:编写工作流程脚本以将文档复制到同一文件夹中,并继续使用新文档进行工作流程 - Alfresco: Write workflow script to copy document in same folder and continue workflow with new document 如何使用谷歌应用脚本将一行从一个谷歌电子表格复制到另一个谷歌电子表格? - How to copy a row from one google spreadsheet to another google spreadsheet using google apps script? 使用 Google Apps 脚本将一个 Google 电子表格中的特定数据复制到另一个 Google 电子表格 - Copy Specific Data in one Google Spreadsheet to another Google Spreadsheet with Google Apps Script google app脚本将值!= 0复制到新列中 - google app script copy values !=0 into new column 如何使用Google Apps脚本将特定的行从3个Google电子表格复制到另一个电子表格 - How to copy specific rows from 3 google spreadsheet to another spreadsheet using google apps script Google Sheets / Apps Script:在特定文件夹中创建新电子表格的功能 - Google Sheets / Apps Script: Function to create a new spreadsheet in specific folder
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM