循环打开电子表格,然后从工作表a复制到工作表b

时间:2019-09-08 00:10:31

标签: javascript for-loop google-apps-script google-sheets

我只是不明白问题出在哪里,

必须非常简单,但这不起作用。

很抱歉出现新蜜蜂问题。

function GoGetData() {
var ss =  
SpreadsheetApp.openById("1tyfIzGNDZr4JK9kYwABDMLBvK7B3jJ4r2wQfMOIPd3I");
SpreadsheetApp.setActiveSpreadsheet(ss);
var sheet = ss.getSheetByName('List des dossiers du Folder') // Sheet=liste des dossiers

for(var i=1; i>3; i++) 
{      
Logger.log(i);



var IdShpread = sheet.getRange(i,2,1,1); // va prender l,adresse de La sheet

var source = SpreadsheetApp.openById(IdShpread); // open la sheet avec les data

var sourcesheet = source.getSheetByName('regroup');

var targetsheet = source.getSheetByName('worksheet');

// Copy de l'ensemble de la Sheet
var rangeValues = sourcesheet.getRange("A1:L1000").copyTo(targetsheet.getRange("A1:L1000"), {contentsOnly: true});

  //pour copier seulement certaines parties a netraliser apres
  //var rangeValues = sourcesheet.getRange("D7:K7").copyTo(targetsheet.getRange("D7:K7"), {contentsOnly: true});
}
}

2 个答案:

答案 0 :(得分:0)

尝试一下:

function GoGetData() {
  var ss=SpreadsheetApp.openById("1tyfIzGNDZr4JK9kYwABDMLBvK7B3jJ4r2wQfMOIPd3I");
  var sh=ss.getSheetByName('List des dossiers du Folder');
  for(var i=1;i<3;i++) {      
    Logger.log(i);
    var IdShpread=sh.getRange(i,2,1,1);
    var source=SpreadsheetApp.openById(IdShpread);
    var sourcesheet=source.getSheetByName('regroup');
    var targetsheet=source.getSheetByName('worksheet');
    sourcesheet.getRange("A1:L1000").copyTo(targetsheet.getRange("A1:L1000"), {contentsOnly: true});
  }
}

答案 1 :(得分:0)

要检索位于您范围内的单元格中的工作表ID,您需要使用方法getValue()。修改脚本如下:

function GoGetData() {
var ss =  SpreadsheetApp.openById("1tyfIzGNDZr4JK9kYwABDMLBvK7B3jJ4r2wQfMOIPd3I");
var sheet = ss.getSheetByName('List des dossiers du Folder') // Sheet=liste des dossiers
for(var i=1; i<=3; i++) {      
 var IdShpread = sheet.getRange(i,2,1,1).getValue(); // va prender l,adresse de La sheet
 var source = SpreadsheetApp.openById(IdShpread); // open la sheet avec les data
 var sourcesheet = source.getSheetByName('regroup');
 var targetsheet = source.getSheetByName('worksheet');
 sourcesheet.getRange("A1:L1000").copyTo(targetsheet.getRange("A1:L1000"), {contentsOnly: true});
 }
}