如何根据各种工作表中的各种数据创建多个文件夹?

时间:2019-08-23 15:43:32

标签: google-apps-script google-drive-api google-sheets-api

我以前只运行一个公式,现在尝试运行两个公式,但无法运行。

我尝试用一​​个公式完成所有操作,但是在vr2中遇到了一个错误

function foldersunidos(){
  function createAndHyperlink();
  function createAndHyperlink2()}
  
function createAndHyperlink() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet2');
  var parent=DriveApp.getFolderById("1Jr39EIlYZ2P4j22OWjP7b_k7gupelXDy")
  var vr=sh.getRange(1,1,sh.getLastRow(),1);//column 1 is values
  var v=vr.getValues();
  var dr=sh.getRange(1,3,sh.getLastRow(),1);//column 2 is hyperlinks
  var d=dr.getValues();
  var hr=sh.getRange(1,2,sh.getLastRow(),1);//column 3 is done ... Prevent old assignment from getting recreated
  var h=hr.getFormulas();
  for(var i=0;i<v.length;i++) {
    if(v[i][0] && !h[i][0] && !d[i][0]) {
      var folder=parent.createFolder(v[i][0]);
      var formula='=HYPERLINK("' + folder.getUrl() + '"; "' + v[i][0] + '")';
      h[i][0]=formula;
      d[i][0]='Done';
    }
  }
  dr.setValues(d);
  hr.setFormulas(h)
}

function createAndHyperlink2() {
  var ss2=SpreadsheetApp.getActive();
  var sh2=ss2.getSheetByName('Sheet3');
  var parent2=DriveApp.getFolderById("1JA80Cjt9WQv-WW8wlZpyVZPVSJ9CD1yK")
  var vr2=sh2.getRange(1,1,sh2.getLastRow(),1);//column 1 is values
  var v2=vr2.getValues();
  var dr2=sh2.getRange(1,3,sh2.getLastRow(),1);//column 2 is hyperlinks
  var d2=dr2.getValues();
  var hr2=sh2.getRange(1,2,sh2.getLastRow(),1);//column 3 is done ... Prevent old assignment from getting recreated
  var h2=hr2.getFormulas();
  for(var i=0;i<v2.length;i++) {
    if(v2[i][0] && !h2[i][0] && !d2[i][0]) {
      var folder2=parent2.createFolder(v2[i][0]);
      var formula2='=HYPERLINK("' + folder2.getUrl() + '"; "' + v2[i][0] + '")';
      h2[i][0]=formula2;
      d2[i][0]='Done';
    }
  }
  dr2.setValues(d2);
  hr2.setFormulas(h2)
}

应该在两个不同的工作表中获取文件夹的两个值字符串。

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

function foldersunidos(){
  createAndHyperlink();
  createAndHyperlink2();
}

并将return添加到每个“ createAndHyperlink”函数中:

...
  dr.setValues(d);
  hr.setFormulas(h);
  return;
}