0
使用Google应用程序脚本我试图用一张纸上的数据自动填充多张纸张。自动使用一张纸上的数据填充多张相同纸张
我使用两个Spreadsheets,“主”电子表格包含需要自动填充到其他电子表格中的数据。
另一个电子表格包含根据“主”表中的条目数重复多次的模板表,这是数据需要去的地方。
到目前为止,我已经设法复制了基于主控的模板表的数量并在之后删除它们(请参阅代码),但我无法找到有关如何自动填充这些表单的任何信息。该模板根据列中公司的数量进行复制,模板表以这些公司的名称命名。
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [{name: "Produce Conformance Logs (From Current Sheet)", functionName: "Produce"},
{name: "Delete Old Conformance Logs", functionName: "delSheets"}
];
ss.addMenu("Conformance Logs", menuEntries);
}
function Produce() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var ui = SpreadsheetApp.getUi();
var eRange = sh.getRange("R9:R").getValues()
var eLength = eRange.filter(String).length;
var rData = sh.getRange(9, 18,eLength, 1).getValues(); // This is the data with the company names
var conformanceSSheet = SpreadsheetApp.openById("1eMQv7muCHzKiyFxIlsdfgsdfgNpxovHiEINNZNtPUlEElIFs5ws");
var conformanceTemplate = conformanceSSheet.getSheetByName("Template");
var result = ui.alert( //title, prompt, buttons)
'Please confirm','Are you sure you want to produce Conformance Logs ?', ui.ButtonSet.YES_NO);
if(result == ui.Button.YES){
for (i=rData.length-1;i>0;--i)
conformanceTemplate.copyTo(conformanceSSheet).setName(rData[i]);
}
}
自动填充代码去这里
function delSheets() {
var ss = SpreadsheetApp.openById("1eMQv7muCHzKiyFxIlNpxovHiEsdfgsdgINNZNtPUlEElIFs5ws");
var sheetsCount = ss.getNumSheets();
var sheets = ss.getSheets();
var ui = SpreadsheetApp.getUi();
var deleteSheetsContaining = "Template"
for (var i = 0; i < sheetsCount; i++){
var sheet = sheets[i];
var sheetName = sheet.getName();
Logger.log(sheetName);
if (sheetName.indexOf(deleteSheetsContaining.toString()) === -1){
Logger.log("DELETE!");
ss.deleteSheet(sheet);
}
}
}
例如,在所有被复制的表我试图要填充的我刚才在RDATA变量所标识的公司名称的小区F7。是否有可能为每张工作表填入一个公司名称?
感谢您的帮助!