2017-06-23 20 views
0

我在主文件中的代码的一部分是在不同的工作表中的特定单元格中传输或创建公式。如何使用不同的Google表单设置公式

进程:
1.一旦触发,它将获得当前电子表格中E1 [client name]的值。它也会得到数据的最后一行来确定要复制的行的最大值。



2.根据客户端名称查找文件夹名称,文件夹标准名称为“NEW” - [客户端名称]。



3.然后获取其文件名包含“客户端工作表”,有时命名为[客户端名称]:客户端工作表的电子表格的ID。



4.然后,它会打开该文件,选择“客户端项目” SHEETNAME



5.而将单元格A1设置为一个公式像IMPORTRANGE查询



这里是我现有的代码:

function transferTasks() { 
     var ss = SpreadsheetApp.getActiveSpreadsheet(); 
     var shtClient = ss.getSheetByName("SEO Deliverables Template"); 
     var cName = shtClient.getRange(1,5).getValue(); 
     var lastRow = shtClient.getLastRow(); 

    var folder = "NEW - " + cName; 
    var folderID = getFolderID(folder); //get the folder ID of the client 
    //the getfolderID function is successfull on getting the folder ID 

    //get the file ID of the client worksheet file 
     var cWorkSheet = DriveApp.getFolderById(folderID).searchFiles('title contains Client Worksheet'); 
     while (cWorkSheet.hasNext()) { //here is the error: invalid argument 
      var file = cWorkSheet.next(); 
      var fileID = file.getId(); 
      } 

    //transfer the data from SEO Deliverables Template to client folder template 
    var sourceFile = ss.getSheetByName("Sydney Office Projects"); 
    var shtTargetFile = DriveApp.getFileById(fileID); 
    var shtTarget = shtTargetFile.getSheetByName("Client Project Calendar"); 
    shtTarget.getRange(1,1).setValue="testing" 


} 



测试是应这里用一个代码代替:

=IFERROR(query(IMPORTRANGE("123456789","'sheet'!A2:I"), " select * where Col6 = 'clientname' label Col1 'Assigned Date'",1),"") 

有关应该使用什么代码的帮助?

回答

0

它,我现在的工作,因为这跑一件事是在该setFormula ..

function transferTasks() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var shtClient = ss.getSheetByName("SEO Deliverables Template"); 
    var shtClientID = shtClient.getID(); 
    var cName = shtClient.getRange(1,5).getValue(); 
    var lastRow = shtClient.getLastRow(); 

    var folder = "SEO - " + cName; 
    var folderID = getFolderID(folder); //get the folder ID of the client 
    var targetFolder = DriveApp.getFolderById(folderID); 

    var file = "Client Worksheet"; 
    var files = DriveApp.getFolderById(folderID).searchFiles("title contains '" + file+"'"); 
    while (files.hasNext()) { 
    var file = files.next(); 
    var fileID = file.getId(); 
    } 

    var shtTargetFile = SpreadsheetApp.openById(fileID); 
    var shtTarget = shtTargetFile.getSheetByName('Client Project Calendar'); 

    //var formula = '=IFERROR(QUERY(IMPORTRANGE('+ shtClientID + ',"\'sheet\'!A2:I"), " select * where Col6 = \'+ cName +\' label Col1 \'Assigned Date\'",1))' 
    shtTarget.getRange(1, 1).setValue("testing"); //replace with the code below 

shtTarget.getRange(1, 1).setFormula(formula); 
}  
1

setFormula现在工作:

var formula2 = "=IFERROR(QUERY(IMPORTRANGE(\""+ shtClientID + "\",\"'Sydney Office Projects\'!A2:I\"), \" select * where Col6 = \'"+ cName +"\' label Col1 \'Assigned Date\'\",1),\"\")"; 
    shtTarget.getRange(1, 1).setFormula(formula2); 
相关问题