続Google slideを使って毎月のレポート作成・更新を自動化する方法 〜更新自動化の後はファイル自体も定期コピーしよう〜

GAS

読んで欲しい人

  • PPT等で毎月のレポートを作成している人
  • スプレッドシートで予実管理などを行なっている人
  • 毎月スプレッドシートのデータを貼り付ける作業を行なっている人
  • 前回のSlide自動更新を読んでくれた人

概要

だいぶ昔になってしまいましたが、Google Slideを使って毎月のレポート作成を簡単にする方法を紹介しました。

前回の記事は以下をご参照ください。

この方法はslide内のデータをボタンぽちぽちで更新するものでした。これだけでもデータ連携しなくていいので、楽になります。ただ、ファイル自体はコピーされないので、ログを残すことが基本使命の管理部門においては、毎月定時に自動コピーを保存しておきたいですよね。ということで、今回は前回作ったMasterファイルをGASとトリガーを使って自動でコピー作成していきます。

ゴールイメージ

ファイル構成イメージ

こんなイメージでマスターファイルと同じフォルダ階層内に各月のレポートを保存していきます。保存後更新・加工したりしているので、最終更新日はバラバラですが、コピー自体はトリガーを利用して定時に実行されています。

実装コード

今回のコードは非常にシンプルというか、まぁ数行で実装できます。

function targetFileCopy() {
  //フォルダの名前を作成
  var date = new Date();
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  var file_name = year.toString() + "_" + month.toString()+ "MonthlyReport"; //実行時にファイルにつける名前
  
  //ファイルをコピー
  var originalFile = DriveApp.getFileById("copyするファイルのID").makeCopy(file_name);
}

ファイルネームを更新するために、変数file_nameに実行時につける名前をセットアップして、DriveAppのmakeCopyを利用しています。makeCopyは①設定する名前(String Type)②保存するフォルダ場所(Folder Type)を引数として受け入れており、今回は保存フォルダの場所はオリジナルファイルと同じなので引数不要で、名前のみ設定しています。

細かい点は、GASのDocumentをみてもらえれば、説明されていますので、念のためリンクも貼っておきます。

Class File  |  Apps Script  |  Google Developers

参考までにトリガー設定

トリガー設定画面

特段説明することもないのですが、だいたい月次だと10日くらいにはレポート作成含めて終わってますよね?終わってない方は、月次決算関係の早期か手伝いますw

終わってる方は、時間主導型>月ベースのタイマー>15日>実行時間、という設定を入れてもらえれば、15日の指定時間にトリガーが実行され、勝手にコピーファイルが作成されます。

まとめ

データフォーマットを決めてしまえば、Slideの更新は非常に楽ですし、コピー保存も上記コード及びトリガー設定で自動化できてしまいます。もちろん、データの更新には定性情報部分も含まれているため、実際はMasterを毎月手で直す部分はあるのですが、数値管理とかを自動化していれば、その後の作業はどんどん楽になりますね。

単なる数値報告は特に価値が高いものと思っていないので、ここら辺を楽にしつつ定性情報やその後のアクションを考える時間に当てるのがいいかと思っています。

自動化させられることはGASやGoogleの基本機能に任せて、ビジネスに向き合える時間を増やしていきたいものです。

コメント