0

関連: Google Apps Script - Google ドライブ - スプレッドシート

私はプログラミング言語にまったく慣れていません。

これは私がやろうとしていることです:

毎日、構文 yymmdd でフォルダーを作成します

このフォルダに、Google ドライブにあるスプレッドシート「MyTemplate」のコピーを 50 個作成します。

ファイル名に yymmdd-01 から yymmdd-50 の構文を使用すると、yymmdd-IDs という名前のスプレッドシートにリストされているこれらすべてのスプレッドシートのすべての名前と ID が取得されます。

ここに私が始めたいくつかのコードがありますが、正しいコードと構文を見つけるのに苦労しています. 私は初心者なので、苦労しているので、助けていただければ幸いです:)

    function create50copies() {
      var TemplateFile = DocsList.getFileById("0bfdbdfIr_dGNsVndBTnNNeFGtlYXchhrdhrdc");
      var filesFolder = DocsList.getFolder("My Templates");
      var d = new Date();
      var curr_date = d.getDate();
      var curr_month = d.getMonth() + 1; //Months are zero based
      var curr_year = d.getFullYear(); //how do I get only the last two digits?
      // var curr_year = curry_year.substring(2,2); 

      var i;

      for (i = 1; i < 4; i++) {
       if ((i) < 10)
       {
       TemplateFile.makeCopy("Id " + curr_year + curr_month + curr_date + "-" + "0" + i).addToFolder(filesFolder);
         var ss = SpreadsheetApp.getActiveSpreadsheet();
         Logger.log(ss.getName());
            }
       else{
       TemplateFile.makeCopy("Id " + curr_year + curr_month + curr_date + "-" + i).addToFolder(filesFolder);
           }

        // TemplateFile.makeCopy("Id " + curr_year + curr_month + curr_date + "-" + i).addToFolder(filesFolder);
      }
    }

    function getids() {
     var files = DocsList.getFilesByType('spreadsheet', 0, 50);
     for (var i = 0; i < files.length; i++) {
       var spreadsheet = SpreadsheetApp.open(files[i]);
       Logger.log(spreadsheet.getName());
       Logger.log(spreadsheet.SpreadsheetApp.getActiveSpreadsheet().getId());
     }

    }
4

1 に答える 1

0

ファイルの作成中に、ファイルの名前とその ID を取得できます。このようなもの

var today=...; //get the name of the file
var folder= ...; get the folder in DriveApps
var arnames=[];
for (var i=0;i<50;i++){
  var filename=today+i;     
  var copy=tenplate.makeCopy(filename, folder); 
  var stId=copy.getId();
  arnames.push([filename,stId]);
}

Logger.log(arnames);
于 2013-10-23T21:13:06.763 に答える