将单元格副本添加到现有功能

时间:2019-11-18 19:26:36

标签: google-apps-script

从以下代码中,我可以添加什么功能以使其也将“销售”表中的特定单元格复制到“工作表”的不同单元格中?

   function CreateManCopyOfTemplateFromActiveSalesFile() {         
 var copyMan = DriveApp.getFileById("Man. Template").getId();    
 var toFolder = DriveApp.getFolderById("Man. Folder");       
 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 var sheetName = sheet.getRange('B3').getDisplayValue();

 DriveApp.getFileById(copyMan).makeCopy(sheetName, toFolder);  }

此功能用于获取活动工作表(SalesFile)的名称,将其应用于不同的工作表(Man.File)的副本,然后将此模板副本放入包含所有其他Man文件的其他指定文件夹中。

我们还想将几个单元格值复制到新复制并命名为Man的位置。归档这些值并将其放入与源中的值不同的单元格(SalesFile)。可以做到吗,或者实际上是两个单独的功能?

2 个答案:

答案 0 :(得分:1)

function CreateManCopyOfTemplateFromActiveSalesFile() {         
  var srcId="Man. Template";    
  var desfldr=DriveApp.getFolderById("Man. Folder");       
  var srcsh=SpreadsheetApp.getActive().getActiveSheet();
  var desfilename=srcsh.getRange('B3').getDisplayValue();
  var desfile=DriveApp.getFileById(srcId()).makeCopy(desfilename, desfldr);  
  var srcrgA=['B4','B5','B10','D11','E4'];
  var desrgA=['B8','B10','D15','E3','J14'];
  var des=SpreadsheetApp.openById(desfile.getId());
  var dessh=des.getSheetByName(srcsh.getName());
  srcrgA.forEach(function(sA1,i){
    dessh.getRange(desrgA[i]).setValue(srcsh.getRange(sA1).getValue());
  });
}

答案 1 :(得分:0)

function CreateManCopyOfTemplateFromActiveSalesFile() {         
  var srcId="Man. Template";    
  var desfldr=DriveApp.getFolderById("Man. Folder");       
  var srcsh=SpreadsheetApp.getActive().getActiveSheet();
  var desshname=srcsh.getRange('B3').getDisplayValue();
  var desfile=DriveApp.getFileById(srcId()).makeCopy(desshname, desfldr);  
  var srcrgA=['B4','B5','B10','D11','E4'];
  var desrgA=['B8','B10','D15','E3','J14'];
  var src=SpreadsheetApp.openById(srcId);
  var des=SpreadsheetApp.openById(desfile.getId());
  var dessh=des.getSheets()[0].getName();
  srcrgA.forEach(function(sA1,i){
    dessh.getRange(desrgA[i]).setValue(srcsh.getRange(sA1).getValue());
  });
}