GASを使って日報提出を自動化する
私の会社は業後、日報(PDF)をメールで上司に送るのですが、使用しているのがGmailなのでGASを用いて自動化できないかと試みました。
今回はボタン(図形)をクリックすると処理が実行されるように作りました。
手順
- Googleドライブに「日報」フォルダを作成
- 作成したフォルダにPDFを入れる
- 任意の場所にスプレッドシート(GAS記述用)を作成
- シートにボタン(図形)を作成
- スクリプトエディタにコード記述
- ボタンにファンクションを割り当てる
- あとはボタン押すだけ!
実際のコード
function sendNippoMail() { //メッセージボックス表示 var test = Browser.msgBox("日報を提出しますか?", Browser.Buttons.OK_CANCEL); if (test == 'ok') { //本文 var subject = '日報提出'; var body = ''; body += '各位\n'; body += '\n'; body += 'お疲れ様です。\n'; body += '日報ファイルを添付させていただきましたので、\n'; body += 'ご査収のほど、よろしくお願い致します。\n'; body += '――――――――――――――――――――――――――――――\n'; body += '株式会社〇〇 \n'; body += 'テスト 花子 \n'; body += '〒000-0000 東京都〇〇区○○ 〇〇ビル\n'; body += 'TEL:00-0000-0000 / FAX:00-0000-0000\n'; body += '――――――――――――――――――――――――――――――\n'; //添付ファイルの保存先フォルダID //作成した日報フォルダのURLの/folders/以降がIDです var folder = DriveApp.getFolderById(' [フォルダID] '); var files = folder.getFiles(); var attachments = []; //フォルダ内のファイルを配列に入れる while (files.hasNext()) { attachments.push(files.next()); } //送信処理 //attachments[0]はフォルダ内の最新ファイルを指します。 GmailApp.sendEmail( 'test1@test.co.jp,test2@test.co.jp', subject, body, {attachments: attachments[0]} ); } }