정형 메일 작성을 GAS로 자동화하면 업무가 조금 낭비된다

소개



_s__o_입니다.

정형 메일, 작성하고 있습니까? 일보, 주보, 진행 보고서, etc etc. 여러가지 있다고 생각합니다. 매월 정도라면 아직 수동으로 어떻게든 될지도 모릅니다만, 주차·일차가 되면 수수함에 시간이 걸립니다.

Thunderbird 등이라면 "이 메일을 기반으로 새 메일 만들기"적인 기능으로 메일을 복제할 수 있습니다. 그러나 불행히도 Gmail에는 이러한 기능이 없습니다. 따라서 매번 To, Cc, 본문 등을 꼼꼼하게 복사해야합니다. 이러한 작업은 단순히 시간이 걸릴뿐만 아니라 수작업으로 인한 실수를 유발합니다. 특히 메일 수신지에 대해서는 메일 오송신의 온상이 될 수 있습니다.

위와 같은 배경에서 작업 시간 단축 & 작업 품질 향상을 목적으로 GAS로 정형 메일 작성을 자동화하고 싶습니다.

입출력 이미지



입력(스프레드시트)



상용문을 스프레드시트로 작성합니다. 가변 내용(일에 등)에 대해서는, 함수로 자동 갱신되도록(듯이) 합니다.


출력(Gmail 초안)



출력은 초안까지 유지합니다. 궁극적으로 보낼지 여부는 사람이 내용물을 확실히 확인하고 판단해야합니다.


코드



전문



우선 수동 실행 전제 때문에 매우 간단합니다.
``
function createDraft() {
const values ​​= SpreadsheetApp.getActiveSheet().getDataRange().getValues();
 const to = values[0][2];
 const cc = values[1][2];
 const bcc = values[2][2];
 const subject = values[3][2];
 let body='';
  body += values[4][2] + '\n\n';
  body += values[5][2] + '\n\n';
  body += values[6][2] + '\n\n';
  body += values[7][2];

GmailApp.createDraft(to, subject, body, {
  cc : cc,
  bcc : bcc
});
}

//함수를 실행하는 메뉴 추가
function onOpen() {
var ui = SpreadsheetApp.getUi();
var menu = ui.createMenu( '매크로 실행');
menu.addItem('메일 초안 작성', 'createDraft');
menu.addToUi();
}
``

해설


function createDraft()

메일 초안 작성을 위한 함수입니다. 단순히 활성 시트의 특정 셀 값을 얻는 것입니다. 마지막으로 'GmailApp.createDraft()'에서 얻은 값을 기반으로 메일 초안을 만들었습니다.
function onOpen()

수동 실행을 위한 함수입니다. 이 함수를 넣어두면 스프레드시트가 열릴 때 메뉴 모음에 항목이 추가됩니다. 이 항목을 선택하고 위의 "createDraft()"를 수동으로 실행합니다. 메뉴 바에 추가된 이미지는 아래와 같습니다.


요약



이상, 간단합니다만, 정형 메일 작성을 GAS 로 자동화하는 방법이었습니다.

이번은 수동 실행 전제의 방법이었습니다만, GAS의 실행 트리거와 잘 조합하면, 일일·주차로 메일 초안을 자동 작성시키는 것도 가능할까 생각합니다.

좋은 웹페이지 즐겨찾기