0

20 명이 넘는 사람들이 매일 Google 시트를 편집하고 있습니다. 그리고 때로는 "날짜 열"에 날짜 이외의 다른 것을 붙여 넣거나 날짜를 잘못된 형식으로 작성하는 경우가 있습니다. 그래서 "yyy-mm-dd"로 날짜 형식을 설정 한 스크립트를 작성한 다음 데이터 유효성을 검사하여 날짜가 올바른지 확인하십시오 (예 : "2017- -17"과 같은 날짜를 피하기 위해)) 및 잘못된 날짜를 붙여 넣거나 쓴 경우 끝 팝업 메시지 상자에 표시됩니다. 나는 코드 아래에 작성하고 트리거 "은 onEdit"하지만 나는이 팝업 메시지의 일을 처리 할 수 ​​없습니다/팝업 알림이 포함 된 Google 시트의 맞춤 데이터 유효성 확인

function SetDateFormat() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet() 
    var sheet = ss.getSheetByName("Sheet1") 
    var cell = sheet.getRange(4, 3, sheet.getMaxRows()) 
    cell.setNumberFormat('yyyy-mm-dd') 
} 


function setAndCheckDate() { 
    var ss = SpreadsheetApp.getActive() 
    var sheet =ss.getSheetByName("Sheet1") 
    var cell = sheet.getRange(4, 3, sheet.getMaxRows()) 
    var rule1 = cell.getDataValidation() 
     var rule2 =SpreadsheetApp.newDataValidation().requireDate().build() 
     cell.setDataValidation(rule2) 

     if(rule1 !== rule2) { 
     Browser.msgBox("Date is incorrect!") 
     } 
} 

또 다른 것은 내가 지금까지 잘못된 데이터를 붙여 넣을 셀을 해요 동안 스크립트를 확인하는 것은 작동하지 않는다는 것입니다 기둥. 당신은

https://docs.google.com/spreadsheets/d/1ZPbfX60E46W95XhMTXpBSLTUAT71QCe-MFnYhYy2PPw/edit?usp=sharing

조언을 할 수 있습니까?

답변

0

설명하는 사양에 따라 날짜 형식을 지정하는 Apps Script에서 formatDate (date, timeZone, format) 형식을 찾고 있습니다.

// This formats the date as Greenwich Mean Time in the format 
// year-month-dateThour-minute-second. 
var formattedDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'"); 
Logger.log(formattedDate); 
관련 문제