【问题标题】:How to create multiple folders from various data in various sheets?如何从各种工作表中的各种数据创建多个文件夹?
【发布时间】:2019-08-23 15:43:32
【问题描述】:

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

我尝试在一个公式中做所有事情,但在 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)
}

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

【问题讨论】:

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


    【解决方案1】:

    试试这个:

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

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

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

    【讨论】:

    • 是的 ADW,就是这样!谢谢
    猜你喜欢
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多