0

我設置了一個onEdit觸發器,我希望重新觸發或回憶說在另一個功能。重新觸發谷歌腳本

function onEdit(e) { 
var ss=SpreadsheetApp.getActiveSpreadsheet(); 
var chng= e.range; 

    ///something set a validation on near cell. showing drip list validation.. 
} 

function tst(){ 
/// I put a new item in that validated cell 
//then the cell warns me with red triangle saying 'invalid content' 

// And i run this function to add that new value to validation list range 
// adding works fine. but the red triangle still there 
//and also validation drop list doesn't show that added item. 

//so I want to re-fire or refresh onEdit trigger in this function 
//to reset validation and erase that warning. 

// so something like this..? 
var atv = SpreadsheetApp.getActiveRange(); 
onEdit.range = atv; 

////no error occurred on sheet 
////but cell warning and validation didn't change. 
} 

我已經嘗試在onEdit中提取函數以稍後調用驗證函數。但現在onEdit不起作用。

我已經改變了觸發靶細胞值0,再次返回到trig的 並增加從腳本API一些睡眠時間..但它沒有工作

所以..有什麼想法?

+0

只需在'tst()'中調用'onEdit()'?您只需使用您需要的部分就可以手動構建事件對象。 –

+0

@Robin Gertenbach //是它在最後一個tst()(onEdit.range = atv;),並從google api ref中找到了一些onEdit方法,但它並沒有特定的.. –

+0

也許精心製作一點。對我來說,這聽起來像你只是想再次觸發onEdit,你可以用'onEdit'完成。如果你的'onEdit'使用事件對象,你可以傳遞一個包含參數的對象。 –

回答

0

添加

var e = {'range' : 'defined onEdit Range'}; 
onEdit(e); 

newbb總能找到答案只是鼻尖的尖..; -/

PS。感謝Robin Gertenbach