1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GASによるGmailの日報の自動化

Last updated at Posted at 2021-01-27

日報ってめんどくさいですよね。

みんなも自動化してると思うけど、してない方のために伝授します。
まあGmail限定です。(Outlookは別の人に託す)

次の3つを使用します。

  • GAS(GoogleAppsScript)っていうJavaScriptみたいな言語
  • Gmail
  • スプレッドシート

ほな、いくで。

##スプレッドシートの作成

まず、スプレッドシートを開く。
Chrome使ってたらアプリってやつ左上くらいにあるので、それ押したら出てくるはず。

スプレットシートはこんな感じで。
ファイル名:日報
シート名:作業内容

スクリーンショット 2021-01-27 19.54.15.png

##スクリプトの作成
次に「ツール→スクリプトエディタ」を開く。
ここでコードを書く。

2つファイル作る。
前者が日報の下書きを作ってくれるやつで、
後者はスプレッドシートでドラフト保存で保存するを選択したら検知して、前者を呼び出してくれるスクリプト。

  • createGmailDraft.gs
  • checksave.gs

####createGmailDraft.gs

createGmailDraft.gs

function createDraft() {
  //日付
  var date  = new Date()
  var today = Utilities.formatDate(date, 'Asia/Tokyo','yyyyMMdd')
  //スプレッドシートの情報
  var ss = SpreadsheetApp.getActive().getSheetByName('作業内容')
  var values = ss.getDataRange().getValues()
  //作業時間
  var start = values[0][1]
  var close = values[1][1]
  var wkHour = values[2][1]
  //作業内容
  var todayTask = values[3][1]
  var tomorrowTask = values[4][1]
  //メール内容
  var to = 'yamadataichou@taicho.com,test@test.com'
  var subject = '日報_田中太郎' + today
  var body = `\
山田隊長\n\n\
お疲れ様です。田中です。\n\n\
下記本日の作業でござる。\n\n\
[作業時間]\n\
開始時間:${start}\n\
終業時間:${close}\n\
稼働時間:${wkHour}\n\
[作業内容]\n\
${todayTask}\n\n\
[作業予定]\n\
${tomorrowTask}\n\n\
以上、ヨロピコ丸。`
  GmailApp.createDraft(to, subject, body)
}

####checksave.gs

checksave.gs
function checkSave() {
  //スプレッドシートの情報
  var ss = SpreadsheetApp.getActive().getSheetByName('作業内容')
  var values = ss.getDataRange().getValues()
  //保存する、しないの部分
  var draftSave = values[5][1]
  
  if (draftSave==='保存する'){
    //メール作成メソッドのお呼び出し
    createDraft()
  }
  //保存しないに変更しとく。
  ss.getRange(6,2).setValue('保存しない')
}

すまん。最初に見た人
createDraft()がコメントアウトなってました。

スクリーンショット 2021-01-27 19.58.14.png

スクリーンショット 2021-01-27 19.58.23.png

スクリプト完成!

##トリガーの設定
次にトリガーを設定する。
左のバーにカーソル合わせてトリガーをクリック、
スクリーンショット 2021-01-27 20.17.01.png
右下のトリガーを作成をクリック。
スクリーンショット 2021-01-27 20.20.08.png

下記を選択する
実行する関数:checkSave
実行するデプロイ:Head
イベントのソース:スプレッドシートから
イベントの種類:変更時
スクリーンショット 2021-01-27 20.21.38.png

##日報作成
スプレッドシートで保存するを選ぶと内容が適用されて下書きが作成される。

スクリーンショット 2021-01-27 19.56.34.png

終わり

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?