日報ってめんどくさいですよね。
みんなも自動化してると思うけど、してない方のために伝授します。
まあGmail限定です。(Outlookは別の人に託す)
次の3つを使用します。
- GAS(GoogleAppsScript)っていうJavaScriptみたいな言語
- Gmail
- スプレッドシート
ほな、いくで。
##スプレッドシートの作成
まず、スプレッドシートを開く。
Chrome使ってたらアプリってやつ左上くらいにあるので、それ押したら出てくるはず。
スプレットシートはこんな感じで。
ファイル名:日報
シート名:作業内容
##スクリプトの作成
次に「ツール→スクリプトエディタ」を開く。
ここでコードを書く。
2つファイル作る。
前者が日報の下書きを作ってくれるやつで、
後者はスプレッドシートでドラフト保存で保存するを選択したら検知して、前者を呼び出してくれるスクリプト。
- createGmailDraft.gs
- checksave.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
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()がコメントアウトなってました。
スクリプト完成!
##トリガーの設定
次にトリガーを設定する。
左のバーにカーソル合わせてトリガーをクリック、
右下のトリガーを作成をクリック。
下記を選択する
実行する関数:checkSave
実行するデプロイ:Head
イベントのソース:スプレッドシートから
イベントの種類:変更時
##日報作成
スプレッドシートで保存するを選ぶと内容が適用されて下書きが作成される。
終わり