【쓰고 넘어】 지금은 또 GAS로 메일 보내지 않겠습니까?
11183 단어 GoogleAppsScriptspreadsheetgmail
소개
이 기사를 읽는 대상자(귀찮은 경우 먼저 “실제의 흐름”을 봐 주세요)
장점
최종 목적
이러한 메일을 보내는 것이 도착점입니다.
(문장의 내용은 심야의 텐션으로 썼으므로 양해 바랍니다)
실제 스프레드시트 및 GAS 코드
변수 준비
var spreadsheet = SpreadsheetApp.openById('IDを入れてね(IDはURLのところにあるyo)');//SpreadSheetファイル『Qiita』をIDから取得する
var sheetName = '送信用';//SheetNameに「Qiitaデモ」という文字列を代入することでシートを指定できる
var sheet = spreadsheet.getSheetByName(sheetName);//シート名からSheetを取得
var got_data = sheet.getDataRange().getValues();//Sheetからデータを取得
var content = got_data[0][5];//本文の内容をセルF1に入れている
var signature = '';//触って欲しくない文字はコード上に描くといいかも
signature += '_____________________________________________' + '\n';
signature += 'ここに署名を無理やり入れているYo ♪♪'+ '\n';
signature += '_____________________________________________'+ '\n';
var ~~~ 변수 (코멘트 아웃과 같은 설명이므로 접는)
이 부분에서는 함수를 실행하기 전에 변수를 만들고 있습니다. 『첫 등장의 변수를 이탤릭, 2번째 이후는 굵은 글씨로 기입』
spreadsheet =SpreadsheetApp.openById()
"ID를 사용하여 사용할 스프레드시트 파일 지정 및 열기(ID 위치는 구그해 보세요)
sheetName='전송용'
sheet = spreadsheet.getSheetByName(sheetName)
시트의 이름으로부터 한 장의 시트를 취득한다(굵은 글씨는 변수이므로 코드와 비교해 주세요)
got_data = sheet.getDataRange().getValues()
전체 시트에서 2차원 배열로 데이터 읽기
content = got_data[0][5]//본문 내용을 셀 F1에 넣습니다.
배열의 숫자 []는 0에서 시트의 숫자 ()는 1에서 계산하기 시작합니다 (이번에는 배열 []이므로 0에서) ← 비교적 중요합니다.
함수(function)
function GoGoGmail(){
}
실제로 수행하는 함수의 부분. (말이 부족해서 편집 요청 부탁드립니다)
for 처리
//ここの部分が難しいかも(少なくとも私にとっては).for分のカッコ内はイメージは下の通り
//(iを列の最大の長さとしますよ:iは必ず0より大きいですよ:回すたびにiを1ずつ減らして行きますよ)
for(var i = got_data.length-1; i>0; i--){
}
if 처리
//アドレスあり && 名前あり && 送信日なし && 結果なし → 実行
if(emailAdress != "" && Name != "" && got_data[i][5]=="" && got_data[i][6]==""){
== 같은 경우 true
!= 다른 경우 true
""공백
Gmail 보내기 처리
//実際に送るメソッド
GmailApp.sendEmail(
emailAdress,//送信先
'テスト', //件名
body, //本文
{
//bcc: '[email protected]', ← 人様に迷惑がかかる恐れがあるのでコメントアウト
name:'紀伊田 修一',
form:'[email protected]',
replyTo:'[email protected]'
}
);
//『結果』に'success'を記入
sheet.getRange(i+1,5).setValue('~success~');
GmailApp.sendEmail (주소, 대상, 제목, 본문, {옵션});
옵션으로 bcc, ccc, 보낸 사람의 이름, 송신원의 주소, 디폴트의 회신처의 설정 등을 할 수 있다.
try ~ catch 오류 대응
try{
GmailApp.sendEmail(
emailAdress,
'テスト',
body,
);
//『結果』に'success'を記入
sheet.getRange(i+1,5).setValue('~success~');
}catch(e){
sheet.getRange(i+1,5).setValue('!!error!!');
}
try{}~catch(){}
try가 성공했을 때 특정 셀에 success를 기입
오류가 발생하면 catch 처리
실제 흐름 (데모이므로 실제 도착하는 이메일 주소가 아닙니다)
스프레드시트 움직임
실행 전
성공
실패
메일 주소의 표기에 실수가 있는 경우는 에러라고 하는 문자를 넣고 있다.
원래 상대방의 이름이 없으면 실행되지 않습니다 (if 참조)
메일 이미지
끝에
이번에는 GAS를 사용한 메일의 방법을 간단하고 조금 복잡하게 정리했습니다.
저도 프로그래밍을 시작한지 얼마 안되었으므로 실수가 있으면 지적을 부탁드립니다.
다음번에는 이 GAS에 둘 수 있는 클래스와 메소드를 정리하려고 생각하고 있습니다.
끝까지 봐 주셔서 감사합니다.
Reference
이 문제에 관하여(【쓰고 넘어】 지금은 또 GAS로 메일 보내지 않겠습니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MeJamoLeo/items/d57be44b6fb7dbd63459
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번에는 GAS를 사용한 메일의 방법을 간단하고 조금 복잡하게 정리했습니다.
저도 프로그래밍을 시작한지 얼마 안되었으므로 실수가 있으면 지적을 부탁드립니다.
다음번에는 이 GAS에 둘 수 있는 클래스와 메소드를 정리하려고 생각하고 있습니다.
끝까지 봐 주셔서 감사합니다.
Reference
이 문제에 관하여(【쓰고 넘어】 지금은 또 GAS로 메일 보내지 않겠습니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MeJamoLeo/items/d57be44b6fb7dbd63459텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)