2017-06-23 19 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); 
相關問題