メール下書き自動作成手順

共有データ(コピペ推奨)

https://drive.google.com/drive/folders/1rOLJpSsA8Tz7s7bB6cTL1HUPM8pdBfIF?usp=drive_link

コード
//予算カード
function myFunction1() {
  let sheet=SpreadsheetApp.openById("スプレッドシートのIDを入力").getSheetByName("シート名");

  for(let i=2; i<=sheet.getLastRow(); i++) {
    let company=sheet.getRange(i,1).getValue();//i行目1列目
    let name=sheet.getRange(i,2).getValue();
    let to=sheet.getRange(i,3).getValue();
    let title=sheet.getRange(i,4).getValue();
    let body=sheet.getRange(i,5).getValue();
    let cc=sheet.getRange(i, 6).getValue();
    body=`${company}\n${name}様\n\n${body}`;


    if (cc) {
      GmailApp.createDraft(to, title, body, { cc: cc });
    } else {
      GmailApp.createDraft(to, title, body);
    }//下書き作成


  }
}


//請求書
function myFunction2() {
  let sheet=SpreadsheetApp.openById("スプレッドシートのIDを入力").getSheetByName("シート名");

  for(let i=2; i<=sheet.getLastRow(); i++) {
    let company=sheet.getRange(i,1).getValue();//i行目1列目
    let name=sheet.getRange(i,2).getValue();
    let to=sheet.getRange(i,3).getValue();
    let title=sheet.getRange(i,4).getValue();
    let body=sheet.getRange(i,5).getValue();
    let cc=sheet.getRange(i, 6).getValue();
    body=`${company}\n${name}様\n\n${body}`;
    
    
    if (cc) {
      GmailApp.createDraft(to, title, body, { cc: cc });
    } else {
      GmailApp.createDraft(to, title, body);
    }//下書き作成


  }
  
}

//上記のコードは「myFunction1」と「myFunction2」という2つのプログラムを実行するという記述内容です。一つのみの時は、「myFunction1」だけにし、もっと追加する際は「myFunction3」など追加しても使用が可能です。

■手順(共有データをフォルダ毎コピペした場合、1・3の手順は飛ばして大丈夫です)

1.フォルダを作成する

■Googleドライブの中に1つフォルダを作成して管理するとわかりやすくおすすめです。

■ここではわかりやすいように「メール自動下書き作成」というフォルダを作成します。

※最終完成図はこのフォルダの中に以下ように【リスト】と【GASのプログラム】が2つ入る形になります。

※共有しているデータをフォルダ毎コピペして使用いただいても全く問題ないです。

2.リストを作る

■作成したフォルダの中に【下書き作成リスト】をスプレッドシートで作成します。

テンプレ内の必要箇所を入力してください。

■基本的には共有データ内のフォーマットをコピーしてご使用ください。このフォーマットの形式で読み込むことを前提にGASのコードを記載しているので、このままご使用いただくことですぐに利用が可能です。

※行は何行増えても対応できるようなコードの記述になっています。

※もちろんご自身でカスタマイズいただいても問題ありません。その場合のコードの改修などはご自身でお願いいたします。

※CCは記載があるときには入れるという指示になっているので、ない場合は空欄でOKです。

※複数のアドレスをいれる際はカンマ区切りで入れていきます。

3.コードを書く

■次は作成したフォルダの中に「Google Apps Script」のデータを作成します。

【作成】>【その他】>【Google Apps Script】ない場合は「アプリを追加」から探してください。

■データのタイトルは「毎月業務」や「メール自動作成」でも自分でわかるようにしておきます。ここでのサンプルコードデータでは「コードテンプレ」としています。

■コードの箇所にコードをいれます。

■保存をします。

※記述が変わり未保存の状態のときは下の画像のように「コード.gs」の横にオレンジの●が表示されます。

4.スプレッドシートと紐づける

■コード内の「スプレッドシートのIDを入力」と記載がある箇所にスプレッドシートのIDを記述します。 リストのスプレッドシートのURL内「d/」と「/edit?」の間のものがIDです。

※▼赤字箇所 spreadsheets/d/1yBWkI1Rw_YGSIEBwbYeEnxrd4q3kEhIHAINyoG-60/edit?

■コード内の「シート名」と記載がある箇所にスプレッドシートのどのシートでこのプログラムを実行するかの「シート名」を記述します。

※シート名をコピペするとエラーになりにくいのでおすすめです。

■保存します。

5.送信テスト

■プログラムが動くかテストをします。

■gasエディタ上のタブから実行するプロンプトを選択します。

■「myFunction1」「myFunction2」など選択したらその左にある実行ボタンを押し、メールソフトで下書きが作成できているか確認します。

※GASのエディタ上でエラーが表示された場合は、該当の行の記述に誤りがあるのでなど記述の見直しをしてみてください。

※「承認が必要です」というセキュリティ対策画面が表示されます。 「このアプリはGoogleで確認されていません」と表示されたら、一番下の「(安全ではないページ)に移動」をクリック>Untitled projectがGoogleアカウントへアクセスをリクエストしていますで「許可」をクリック

※メールソフトにセキュリティ通知が届きます。

6.トリガーを設定して自動化する

■手動テストでプログラムが問題なく動いたら、トリガーを設定して、下書き作成を自動化します。

■左の項目から「トリガー」を選択し、右下にある「+トリガーを追加」を押します。

■実行する関数を選択し、希望の日時を設定したら完了です。

【補足】

送信にするときは該当の箇所の記述を以下のように変えれば自動で送信されます。

if (cc) {
      GmailApp.createDraft(to, title, body, { cc: cc });
    } else {
      GmailApp.createDraft(to, title, body);
    }

上の記述内の

GmailApp.createDraft

を以下の【送信】に書き換える↓

GmailApp.sendEmail

▼▼▼

if (cc) {
      GmailApp.sendEmail(to, title, body, { cc: cc });
    } else {
      GmailApp.sendEmail(to, title, body);
    }


下記の問題に回答してください