0

この状況で少し助けを求めています。新しいシートを作成するスプレッドシートがあり、名前を変更します。これが完了したら、他の約 10 のスプレッドシートに対して同じことを行います。for または while ループを実装して、繰り返しコードを 10 回入力します。私のコードは以下の通りです。私は別のドキュメントにキーを持っているので、基本的には、変数のキーを読み取る方法と、縦の列にある各キーを読み取る方法を知る必要があります。

function create(){
var ss0 = SpreadsheetApp.getActiveSpreadsheet();
ss0.setActiveSheet(ss0.getSheetByName("old"));
ss0.setActiveSheet(ss0.duplicateActiveSheet());
ss0.renameActiveSheet("main");
var ss0 = SpreadsheetApp.getActiveSpreadsheet();
ss0.getRange("A4:I500").clearContent();


    //repeated code key 1
var ss0 = SpreadsheetApp.getActiveSheet();
var master = SpreadsheetApp.openById("key1");
ss0.copyTo(master);
var ss0 = SpreadsheetApp.getActiveSpreadsheet();
master.setActiveSheet(master.getSheetByName("Copy of main"));
master.renameActiveSheet("main"); 


    // key 2
var ss0 = SpreadsheetApp.getActiveSheet();
var master = SpreadsheetApp.openById("key2");
ss0.copyTo(master);
var ss0 = SpreadsheetApp.getActiveSpreadsheet();
master.setActiveSheet(master.getSheetByName("Copy of main"));
master.renameActiveSheet("main"); 

}
4

1 に答える 1

2

配列内のキーを取得し、この配列をループする必要があります。

概要はこちら

function myFunction() {
  //get the keys in an array
  //say, they are in column A in a spreadsheet from A1:A10
  var keyArray = SpreadsheetApp.openById("ID of the ss with key").getSheetByName("name of the sheet with key")
      .getRange("A1:A10").getValues();

  var ss0 = SpreadsheetApp.getActiveSheet();

  //loop for all the spreadsheets
  for(var i in keyArray){
    var ss = SpreadsheetApp.openById(keyArray[i][0]);
    ss0.copyTo(ss);
    ss.getSheetByName("Copy of main").setName("main")
  }
}
于 2012-10-31T07:33:27.593 に答える