我创建了一个按钮,该按钮每次被按下都会生成一个新的电子表格。 该部分工作正常。
但是,我还希望新的电子表格是“母亲”电子表格中数据的摘要。我希望能够在“母亲”电子表格中编写脚本,我可以将其链接到另一个按钮,该按钮在按下时会从“母亲”电子表格中提取数据并将其发送到新生成的电子表格。似乎有一种使用电子表格ID的方法,但是我遇到了一些问题,因为我从主电子表格中生成了大约100个新报表,并且数据需要立即导出。
这是到目前为止的代码:
function NewSpreadsheets() {
var FromDate = String(SpreadsheetApp.getActive().getRange('B3').getValue());
var ToDate = String(SpreadsheetApp.getActive().getRange('C3').getValue());;
var SpreadsheetName = FromDate + ' to ' + ToDate + ' Summary';
var NewSpreadsheet = SpreadsheetApp.create(SpreadsheetName, 101, 5);
}
答案 0 :(得分:0)
假设您要有两个按钮:一个用于创建新的电子表格,另一个用于添加原始电子表格中的数据,则可以在第一个函数中使用PropertiesService来存储创建的电子表格ID
,可以在第二个中找到它:
第一个按钮附带的功能:
function createNewSpreadsheet() {
var FromDate = SpreadsheetApp.getActive().getRange('B3').getValue();
var ToDate = SpreadsheetApp.getActive().getRange('C3').getValue();
var SpreadsheetName = FromDate + ' to ' + ToDate + ' Summary';
var NewSpreadsheet = SpreadsheetApp.create(SpreadsheetName, 101, 5);
var scriptProperties = PropertiesService.getScriptProperties();
scriptProperties.setProperty("Copy ID", NewSpreadsheet.getId()); // Store spreadsheet ID
}
第二个按钮附带的功能:
function copyDataToNewSpreadsheet() {
var scriptProperties = PropertiesService.getScriptProperties();
var spreadsheetId = scriptProperties.getProperty("Copy ID"); // Retrieve spreadsheet ID
var newSpreadsheet = SpreadsheetApp.openById(spreadsheetId);
// Copy data...
}