ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
条件により文字や背景の色を変更する方法(条件付き書式)(Gスプレッドシート)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、こんな感じにできます。
そして
- 条件書式の効果的な使用方法がわかります。
- チェックボックスのON/OFFにより項目のON/OFFが設定できるようになります。
なので、サクッとマスターして
と答えてあげてください。
動画はこちら
シートはこちら
そして読み込み
- GASでスプレッドシートから一気にデータを取得する方法がわかります。
- チェックボックスのON/OFFで処理を変更する方法がわかります。
スクリプト
//★スプレッドシートのIDz*URLのユニークな長い部分
const FORMAT__SHEET_ID = "1g1K9IlBNL4fTxvpH0h5JgUv_u83Kek5rLIHHc1L9dAM";
//以下名称が一致しているか確認
//シートの名称
const FORMAT_SHEET_NAME = "返信メールフォーマット2";
//フォーム内の名称
const ITEM_MAILADDRESS = "メールアドレス";
const ITEM_NAME_TITLE = "お名前(ニックネーム可)";
function test() {
const ss = SpreadsheetApp.openById(FORMAT__SHEET_ID)
const sheet = ss.getSheetByName(FORMAT_SHEET_NAME)
let SendInfobuf = sheet.getRange(1, 1, 7, 3).getValues()
const Cchk = 0 //チェックボックスの値の位置
const Clmv = 2 //項目の値の位置
const Lsubject = 0 // 件名
const Lcontents = 1 // 本文
const Lfromadder = 2 // 送信元メールアドレス
const Lfromname = 3 // 送信元名前
const Latendmadder = 4 // 通知先メールアドレス
const Latendsubject = 5 // 通知先への件名
const Latendcontents = 6 // 通知先への本文
if (SendInfobuf[Lfromadder][Cchk]) { //送信元メールアドレスがon
console.log("送信元メールアドレスがon")
console.log(SendInfobuf[Lfromadder][Clmv])
console.log(SendInfobuf[Lfromname][Clmv])
}
else {
console.log("送信元メールアドレスがoff")
}
if (SendInfobuf[Latendmadder][Cchk]) { //通知先メールアドレスがon
console.log("通知先メールアドレスがon")
console.log(SendInfobuf[Latendmadder][Clmv])
}
else {
console.log("通知先メールアドレスがoff")
}
}
そして完成
- GASでGoogleフォームと連携する方法がわかります。
- Googleフォーム登録時に別のメールアドレスから返信メールを送ることができます。
動画はこちら
スクリプト
//フォーム登録者にメールを送信する
function submitForm(e) {
let itemResponses = e.response.getItemResponses();
let message = '';
let username = '';
let mail = '';
const ss = SpreadsheetApp.openById(FORMAT__SHEET_ID)
const sheet = ss.getSheetByName(FORMAT_SHEET_NAME)
let SendInfobuf = sheet.getRange(1, 1, 11, 3).getValues()
const Cchk = 0 //チェックボックスの値の位置
const Clmv = 2 //項目の値の位置
const Lsubject = 0 // 件名
const Lcontents = 1 // 本文
const Lfromadder = 2 // 送信元メールアドレス
const Lfromname = 3 // 送信元名前
const Latendmadder = 4 // 通知先メールアドレス
const Latendsubject = 5 // 通知先への件名
const Latendcontents = 6 // 通知先への本文
const Lmailaddercaption = 9 // フォーム上のメールアドレスのキャプション
const Lnamecaption = 10 //フォーム上の名前のキャプション
//フォーム内の名称
const ITEM_MAILADDRESS = SendInfobuf[Lmailaddercaption][Clmv]//メールアドレス"
const ITEM_NAME_TITLE = SendInfobuf[Lnamecaption][Clmv]//お名前(ニックネーム可)
for (let i = 0; i < itemResponses.length; i++) {
let itemResponse = itemResponses[i];
let question = itemResponse.getItem().getTitle();
let answer = itemResponse.getResponse();
if (question == ITEM_MAILADDRESS) {
mail = answer;
}
if (question == ITEM_NAME_TITLE) {
username = answer;
}
message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
}
let subject = SendInfobuf[Lsubject][Clmv]//件名の取得
let contents = SendInfobuf[Lcontents][Clmv] //本文の取得
subject = subject.replace("%name%", username);//%name%を置換する
contents = contents.replace("%name%", username);//%name%を置換する
let options =
{
from: SendInfobuf[Lfromadder][Clmv],
name: SendInfobuf[Lfromname][Clmv]
}
if (SendInfobuf[Lfromadder][Cchk]) { //送信元メールアドレスがon
GmailApp.sendEmail(mail, subject, contents, options) //登録者にメールを送信する
}
else {
GmailApp.sendEmail(mail, subject, contents) //登録者にメールを送信する
}
if (SendInfobuf[Latendmadder][Cchk]) { //通知先メールアドレスがon
console.log("通知先メールアドレスがon")
console.log(SendInfobuf[Latendmadder][Clmv])
contents = SendInfobuf[Latendcontents][Clmv] //本文の取得
contents += '\n\n' + message;
GmailApp.sendEmail(SendInfobuf[Latendmadder][Clmv],
SendInfobuf[Latendsubject][Clmv],
contents)
}
else {
console.log("通知先メールアドレスがoff")
}
}
最後までご覧いただきありがとうございます。
つぎはこちら
【コピペでできるGAS】ふりがな関数(ExcelのPHONETIC)を実装する(Gスプレッドシート)
名前のフリガナを一瞬でふることができます。
ExcelのPHONETIC関数を実現できます。
「GASって何?」状態であってもコピペでできます。
コメント