0

有什麼方法可以指定在單元格通過數據驗證失敗時發送給用戶的消息?當用戶輸入無效數據時,程序會吐出一個按鈕,標題爲「有問題」,並且「您在單元格D2中輸入的數據違反了此單元格中設置的數據驗證規則」作爲測試。我怎麼能說,「不正確的輸入」作爲一個標題,然後「身體的價值必須以電子郵件格式」爲身體? 我試過研究這一切,但無法找到如何去做。適用於Google表格數據驗證的JavaScript - 自定義錯誤消息

此外 - 何時必須運行此?即使工作表與其他人共享,我是否只運行一次這個函數,它會永久應用,還是必須輸入onOpen觸發器?

謝謝!請在下面找到我的代碼。

function Validate() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheets = ['Tasks', 'Sales Files Load']; 

    for (var i=1; i < sheets.length; i++) { //apply the validation to specific sheets 
    var sheet = ss.getSheetByName(sheets[i]); //location of User column 
    var ucol = sheet.getLastColumn()-1; 
    var tcol = sheet.getLastColumn(); //location of Time column 
    var lastRow = sheet.getLastRow(); 

    // Set the data validation for column D to require text in the form of an email address. 
    var cell1 = sheet.getRange(2, ucol, lastRow-1, 1); 
    var rule1 = SpreadsheetApp.newDataValidation().requireTextIsEmail().setAllowInvalid(false).build(); 
    cell1.setDataValidation(rule1); 
    } 

回答

0

如果您可以直接在電子表格中設置數據驗證,則無需自定義腳本。您只需點擊旁邊的chechbox在配置驗證項目並輸入您希望查看的消息時顯示驗證幫助文本:

如果你想用代碼來做到這一點,添加其他項目到您的規則來進行幫助文本.setHelpText():

var rule1 = SpreadsheetApp.newDataValidation().requireTextIsEmail().setAllowInvalid(false)**.setHelpText('My Help Text.')**.build(); 
+0

這是某些情況下有益的,但不幸的是,這不是我所需要的。當您將鼠標懸停在單元格上時,這隻會顯示文本。我想更改實際彈出式提醒中的文字。你知道怎麼做嗎? – ukodus

+0

手動方法中的複選框確實對我有用。我還檢查了拒絕選項以使彈出窗口出現。我沒有嘗試代碼。我閱讀規則的文檔意味着它設置了與我的手動測試相同的項目。 –