2012-10-22 2 views
3

나는 셀도 색상 셀onedit 왜 이메일을 보낼 수 없습니까?

function onEdit(e) { 

var doc = e.source; 

var r = doc.getActiveRange().getValue(); 


if (r == "Niccolò"){ 
var a = doc.getActiveRange().setBackground('#ff0000'); 
var b = GmailApp.sendEmail('[email protected]', 'subject', 'body'); 

} 

}

이 기능 변화를 변경할 때 이메일을 보내해야이 간단한 스크립트를했습니다. 문제는 셀 색상이 작동한다는 것이므로 이메일은 보내지 않고 변경됩니다. 왜 그렇게 쉽게 작동하지 않는지 모르겠다.

답변

3

단순 트리거는 onEdit(), onOpen( 또는 onFormSubmit()과 같이 승인없이 실행되기 때문에 가능한 동작 집합이 제한되어 있습니다. 자세한 내용은 the documentation을 참조하십시오.

당신이 묘사하는 행동은 정상입니다.

대신 동일한 문서 페이지에 설명 된대로 설치 가능한 트리거를 사용해야합니다. 여기

는 문서의 요약 :

이 간단한 트리거 Google 스프레드 시트의 행동에 대한 응답으로 실행하고 활성 사용자로 실행합니다. 예를 들어 Bob이 스프레드 시트를 열면 스프레드 시트에 스크립트를 추가 한 사람과 관계없이 onOpen 함수가 Bob으로 실행됩니다. 이러한 이유 때문에 간단한 트리거는 허용되는 대상이 제한되어 있습니다. 스프레드 시트가 읽기 전용 모드로 열릴 때 실행할 수 없습니다. 현재 사용자를 확인할 수 없습니다. 해당 사용자로 인증해야하는 서비스에는 액세스 할 수 없습니다. 예를 들어 Google 번역 서비스는 익명으로 제공되며 간단한 트리거를 통해 액세스 할 수 있습니다. Google 캘린더, Gmail 및 사이트 도구는 익명으로 제공되지 않으며 간단한 트리거는 해당 서비스에 액세스 할 수 없습니다. 현재 스프레드 시트 만 수정할 수 있습니다. 다른 스프레드 시트에 대한 액세스는 금지되어 있습니다. 이벤트 권한에 대한 자세한 내용은 컨테이너 별 트리거에서 실행을 참조하십시오.

+0

아래에서 답변을 확인하십시오. – user1765781

관련 문제