2017-06-22 44 views
0

我不知道是否有人可以幫助我與下面的谷歌腳本?我剛開始編寫一些谷歌腳本,並幫助我的同事跟蹤他的作品的製作。谷歌腳本 - 自動填充當前日期 - 當在下拉列表中選擇特定文本

下面是該領域的解釋。

Column 9 = Status (Dropdown list: Pending, In-progress, Done) 
Column 11 = Send Date 
Column 13 = Start Date 
Column 14 = End Date 

我怎麼想的腳本工作 例子:

  • 當第9列(下拉列表)值=「待定」,然後自動填補目前 日期柱11
  • 當列9(下拉列表)value =「進行中」,然後自動填充 當前日期到第13列。
  • 當列9(下拉列表)值=「結束日期」,然後自動填寫當前 日期到第14列。

我正在致力於獲取狀態爲「進行中」的代碼。 我知道我對這部分錯了。 - > [s.getValue()!=='In-progress'] 但我不確定在哪裏或如何將我正在尋找的某些文本放在這裏。

function onEdit(e) { 

var s = e.source.getActiveSheet(), 
    cols = [9], 
    colStamp = 13, 
    ind = cols.indexOf(e.range.columnStart) 
    if (s.getName() !== 'Lab Cases Tracker' || s.getValue() !== 'In-progress' || ind == -1) return; 
e.range.offset(0, parseInt(colStamp - cols[ind])) 
    .setValue(e.value ? new Date() : null); 
} 

非常感謝!

回答

0

這應做到:

function onEdit(e) { 
    var ss=SpreadsheetApp.getActiveSpreadsheet() 
    var s1=ss.getActiveSheet() 
    var s = e.source.getSheetName() 
    var col=e.range.getColumn() 
    var r=e.range.getRow() 
    var val=e.value 
    var curDate = Utilities.formatDate(new Date(), "GMT+1", "MM/dd/yyyy") 
    if(s=="Lab Cases Tracker" && col==9){ 
    if(val=="Pending"){ 
     s1.getRange(r,11,1,1).setValue(curDate); 
    } 
    else if(val=="In-progress"){ 
     s1.getRange(r,13,1,1).setValue(curDate); 
    } 
    else if(val=="End Date"){ 
     s1.getRange(r,14,1,1).setValue(curDate); 
    } 
    else{return} 
}} 
+0

我不知道是否可以顯示的日期格式也時間嗎? – Angel

+0

它完美的工作!非常感謝! – Angel

+0

我已經改變 var curDate = Utilities.formatDate(new Date(),「GMT + 1」,「MM/dd/yyyy」) 到 var curDate = new Date() – Angel

相關問題