2017-12-13 1 views
0

저는 GAS에 비교적 익숙하지 만 다른 비슷한 프로젝트에서도 과거에 성공했습니다. 내 Gantt Chart in G 행의 드롭 다운에서 "Past Due"가 선택되면 정적 주소 (광산)로 전자 메일을 보내려고합니다. 다양한 소스에서 다음 코드를 작성하고 편집 트리거에서 sendEmail> 스프레드 시트>를 설정했습니다.Google 스프레드 시트 및 GAS - 셀이 채워지는 경우 이메일 보내기

드롭 다운에서 "지난 기한"을 선택하면 아무 일도 일어나지 않습니다. 나는 이메일을받지 못했고 장애 통지를받지 못했습니다. 이것이 내 방아쇠로 인해 문제가 될 수 있다고 생각하지만 문제를 해결하는 방법에 대해 머리를 감싸는 것처럼 보일 수는 없습니다 (포럼, 블로그 및 비디오를 통해 몇 시간을 파고 들었다고해도).

누구든지이 문제를 해결할 수 있습니까?

+0

onEdit 트리거를 사용하고 있습니까? 즉각적인 알림을 위해 설정할 수 있으며 코드에서 실행되는 모든 오류를 사용자에게 보냅니다. – Cooper

+0

위에서 언급 한 onEdit 트리거를 사용하고 있습니다. 나는 즉각적인 통보를 받았으며 아직 어떤 실패 통지도받지 못하고있다. 그래서 나는 방아쇠 자체가 문제인지 궁금해하고있다. –

+0

그럼 그냥 삭제하고 다시 만들어보십시오. 또한 시트 중 하나를 사용하여 트리거 로그를 작성하고 트리거가 발생할 때마다 타임 스탬프가있는 행을 추가 할 수 있습니다. if 문을 열기 전에 입력해야합니다. – Cooper

답변

0

데이터 유효성이 검사 된 열을 변경하면 onEdit이 트리거되는지 테스트하기 위해이 작은 함수를 사용했습니다.

function sendSomething(e) { 
    var ts=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM:dd:yyyy HH:mm:ss"); 
    var desc='This is an onEdit Trigger'; 
    e.source.getSheetByName('Logger').appendRow([ts,desc]); 
    if(e.source.getActiveSheet().getName()=='RowAndCols' && e.range.getColumn()==2){ 
    e.source.getSheetByName('Logger').appendRow([ts,'this is the edit from RowAndCols','Current Value is ' + e.value,'Row = ' + e.range.getRow()]); 
    } 
} 

제 경우에는 이름이 지정된 범위를 Yes No 대체와 Validated ColumnB로 사용했습니다.

로거 시트의 출력물입니다.

12:15:2017 11:22:49 this is the edit from RowAndCols Current Value is Yes  
12:15:2017 11:22:51 This is an onEdit Trigger  
12:15:2017 11:22:51 this is the edit from RowAndCols Current Value is No 
12:15:2017 11:22:53 This is an onEdit Trigger  
12:15:2017 11:22:53 this is the edit from RowAndCols Current Value is Yes  
12:15:2017 11:22:56 This is an onEdit Trigger  
12:15:2017 11:22:56 this is the edit from RowAndCols Current Value is No 
12:15:2017 11:22:58 This is an onEdit Trigger  
12:15:2017 11:22:58 this is the edit from RowAndCols Current Value is Yes  
12:15:2017 11:23:59 This is an onEdit Trigger  
12:15:2017 11:23:59 this is the edit from RowAndCols Current Value is Yes Row = 5 
12:15:2017 11:24:00 This is an onEdit Trigger  
12:15:2017 11:24:00 this is the edit from RowAndCols Current Value is No Row = 6 
12:15:2017 11:24:02 This is an onEdit Trigger  
12:15:2017 11:24:02 this is the edit from RowAndCols Current Value is Yes Row = 7 
12:15:2017 11:24:04 This is an onEdit Trigger  
12:15:2017 11:24:04 this is the edit from RowAndCols Current Value is No Row = 8 

내 시트의 이름은 RowAndCols이었고, 내 로거 시트의 이름은 로거했다.

그리고 제대로 작동하는 것 같습니다.

+0

입력 해 주셔서 감사합니다.하지만 유감스럽게도 편집 중 트리거가이 스프레드 시트 내에서 일반적으로 작동한다는 것을 이미 알고 있습니다. 실험 중에 다른 곳에서 사용한 적이 있습니다. 전체 운영이 왜 효과가 없을지에 대한 해답을 얻으려고합니다. 이메일을 보내는 것처럼 간단한 일을하기 위해 스크립트를 사용하는 것이 왜 그렇게 고통 스러운지 모르지만 내 엉덩이를 걷어차는 이유는 확실하지 않습니다. –

관련 문제