【GAS】Google 폼의 문의를 스프레드시트로 관리하고, 미응답인 것만 메일 송신
8106 단어 googleformGoogleAppsScriptgas
소개
Google 설문지에서 요청을 받고 응답 후 스프레드시트를 작성한 후 이메일을 보내려는 코드입니다.
처리의 흐름으로서는 이하
이 기사는 4 내용의 코드입니다.
보라색 항목이 Google 양식에서 문의
청색 항목이 수동 기입 & GAS에서 사용하는 상태
타임스탬프
test
test1
이메일 주소
Ans
전송 상태
2020/06/04 21:33:02
a
1
왓 x @ g 마이 l. 이 m
Ans 기입
코드
function myFunction() {
// スプレッドシート取得
let sheet = SpreadsheetApp.getActive().getSheetByName('フォームの回答 1');
// データ取得範囲指定
const row = 2;
const column = 1;
const LastRow = sheet.getDataRange().getLastRow();
const LastColumn = sheet.getDataRange().getLastColumn();
const numRows = LastRow - row + 1;
const numColumns = LastColumn - column + 1;
// データ取得
let data = sheet.getRange(row, column, numRows, numColumns).getValues();
// メール
let recipient = ''; // 送信先メールアドレス
let subject = '対応完了 - '; // メール件名
let body = '';
let sendCnt = 0;
for (let i=0; i < data.length; i++) {
// 1行ずつメール未送信かどうかチェック
if ( data[i][5] != '済' ) { // 送信ステータスチェック
recipient = data[i][3];
subject += data[i][1];
body += '\ntest:' + data[i][1];
body += '\ntest1:' + data[i][2];
body += '\nAns:' + data[i][4];
GmailApp.sendEmail(recipient, subject, body); //, options
sheet.getRange(i+2, 6).setValue('済');
sendCnt ++;
}
}
if ( sendCnt == 0 ) {
console.log('送信対象無し');
}
}
참고
function myFunction() {
// スプレッドシート取得
let sheet = SpreadsheetApp.getActive().getSheetByName('フォームの回答 1');
// データ取得範囲指定
const row = 2;
const column = 1;
const LastRow = sheet.getDataRange().getLastRow();
const LastColumn = sheet.getDataRange().getLastColumn();
const numRows = LastRow - row + 1;
const numColumns = LastColumn - column + 1;
// データ取得
let data = sheet.getRange(row, column, numRows, numColumns).getValues();
// メール
let recipient = ''; // 送信先メールアドレス
let subject = '対応完了 - '; // メール件名
let body = '';
let sendCnt = 0;
for (let i=0; i < data.length; i++) {
// 1行ずつメール未送信かどうかチェック
if ( data[i][5] != '済' ) { // 送信ステータスチェック
recipient = data[i][3];
subject += data[i][1];
body += '\ntest:' + data[i][1];
body += '\ntest1:' + data[i][2];
body += '\nAns:' + data[i][4];
GmailApp.sendEmail(recipient, subject, body); //, options
sheet.getRange(i+2, 6).setValue('済');
sendCnt ++;
}
}
if ( sendCnt == 0 ) {
console.log('送信対象無し');
}
}
Reference
이 문제에 관하여(【GAS】Google 폼의 문의를 스프레드시트로 관리하고, 미응답인 것만 메일 송신), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Shin/items/afb6e8ad18a9cade9254텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)