2016-12-02 32 views
1

我寫的小腳本顯示下面創建從Google Sheets數據MS Word文件。如果別無他在谷歌工作的腳本

我添加了一條if-else語句來防止腳本從一開始就爲每一行創建一個文檔;但是,該腳本僅運行else條件中的代碼。請幫我找出我要出錯的地方。

function createDocFromSheet() { 
    // get template file id: 
    var templateid = "1yi0zKDyPYB2yL2-OFOp-lAUKXHmJaJjm0iKLg5uhjyU"; 
    // folder name of where to put completed diaries: 
    var FOLDER_NAME = "0B8tUkeXcIHUuMXZEcDU0OXRsVTQ"; 
    // get the data from an individual user: 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    var data = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn()).getValues(); 

    for (var row = 2; row <=data.length; row++) { 
     var roll = sheet.getRange(row, 1).getValue(); 
     var studentName = sheet.getRange(row, 2).getValue(); 
     var fatherName = sheet.getRange(row, 3).getValue(); 
     var dob = sheet.getRange(row, 4).getValue(); 
     var transID = sheet.getRange(row, 5).getValue(); 
     var email = sheet.getRange(row, 6).getValue(); 
     var status = sheet.getRange(row, 7).getValue(); 

     if (status = null) { 
      //creating document 
      var docid = DriveApp.getFileById(templateid).makeCopy(roll).getId(); 
      var doc = DocumentApp.openById(docid); 
      var body = doc.getBody(); 
      body.replaceText("<roll-no>", roll); 
      body.replaceText("<student-name>", studentName); 
      body.replaceText("<father’s-name>", fatherName); 
      body.replaceText("<dob>", dob); 
      body.replaceText("<trans-id>", transID); 
      doc.saveAndClose(); 
     } 
     else { 
      Logger.log("status not null"); 
     } 
    } 
} 
+0

可能的[Google Apps Script有條件的If/Else If語句腳本]重複(http://stackoverflow.com/questions/20404002/google-apps-script-conditional-if-else-if-聲明) – jonhopkins

回答

1

將其更改爲:

if (status === null){ 

甚至

if (status == null) { 

這可能是更好的選擇,因爲我想着它。 One =不夠用

+0

兩者都試過。它仍在運行其他語句。 – Himanshu

+0

工作!替換爲==「」。謝謝。 – Himanshu

+0

因此,您所在的細胞中有一個空間嗎?請注意,一些公式也會返回一個空文本項目。例如'= IF(true_test,「」,0)「,作爲第二種變化,可以更好地寫爲'= IF(true_test,,0)',使單元格保持空白。 –