本連載は実際に業務で役立つプログラムやツールを使って業務の改善に取り組む様子を紹介する物語です。物語はフィクションですが、作中で紹介するプログラムは実際に使えるものです。主人公の田中君は今回から係長として隣町の支店勤務となりました。経理部の業務をどう改善できるでしょうか。

物語 - 新米係長の初出勤

先月、社長に呼び出された時は、何か怒られるのかと思っていたのだけど、蓋を開けてみたら隣町の支店の係長に任命されたのだった。とは言え、最終出社の日まで社長令嬢の葵さんと悪戦苦闘するはめになったのだった。葵さんの悪評は高く、数日でみんなから悪役令嬢と呼ばれるようになっていたのだった。そんな日々が今となっては名残惜しい。今日からは晴れて、隣町の支店勤務だ。

支店初出勤の朝、全体ミーティングに参加する。そしてミーティングの最後に支店長の沢谷さんが僕の名前を呼んだ。

「今日からこの支店で係長として一緒に働く田中君だ。みんなよろしく!」

そして簡単に挨拶すると、みんなから「よろしく」と元気な声がかけられた。支店の規模はそれほど大きくないが、この支店の面々もみんな人が良さそうだ。「よし、頑張るぞ!」と拳を固く握った瞬間、支店長が大きな声で言う。

「そして、田中君と同時に移動になった野田さんを紹介しよう。彼女は、今年の春入社した野田葵さんだ。何を隠そう我が社の社長のお嬢さんだ。これから経理部で田中君と一緒に働いてもらう。共に支店を盛り上げていこう!」

なんと、僕だけでなく悪役令嬢の葵お嬢も一緒に支店に異動になったようだ。せっかく、お嬢さんのお守りから解放されると思ったのだが。ミーティングの直後、葵お嬢が近づいて来て言った。

「お父様から支店に行くように言われて楽しみにしていたのに。またお前と一緒か。テンション下がる。」

それはこちらの台詞なのだが、いきなり悪態を突かれたのだった。その後、前任の係長より経理部の仕事の引き継ぎを一通りし、さっそく業務に取りかかった。既に本社勤務の時から新しい仕事については学んでいたため、非常にスムーズな滑り出しとなった。

しかし、何事も平穏無事とはいかないものだ。

「田中係長、共有PCのデスクトップに保存しておいた契約書が見当たらないのですが知りませんか?」

どうやら部署の共有PCのデスクトップで作業していた重要なファイルを誰かが誤って削除してしまったようだ。経理部メンバー総出で原因追及したところ、原因はやはり悪役令嬢だった。慣れない仕事を任されて、テンパっていたために、うっかり共有PCのものを消してしまったらしい。さすがに、初日にみんなに迷惑をかけてしまったことから、反省している様子だ。

そこで僕は彼女自身にミスを挽回してもらおうと提案した。

「(悪役令嬢の)葵さん、ファイルを消してしまったお詫びに自動クラウドバックアップツールを、Power Automateで作ってみよう!」

「また、例のPower Automateを使うの?!訳が分からないから嫌だー。」

「(悪役令嬢の)葵さん、1時間に1回、デスクトップにあるExcelファイルをOneDriveのフォルダにコピーするようにしてみてね。アクションを選んで貼り付けるだけだから簡単だよ。」

最初は駄々をこねていたものの、責任を感じていることから、渋々Power Automateを使って自動処理の作成をはじめたのだった。

もちろん、僕が自分で作ればあっという間に作れるんだけど、係長になったのだから辛抱強くあって、人に任せるということを覚える必要がある。そう何度も自分に言い聞かせて、嫌々ながら定期的に葵さんの席を訪れてはヒントを囁くことにした。

そして、ようやく自動バックアップツールが完成したのだった。

「おい、田中。ようやくできたぞ。頑張って作ってやったんだから、ありがたく使えよ。」

完成したPower Automateのフロー(他のプログラミング言語で言うプロジェクトに相当する)を確認してみると、なかなかよく出来ていた。口は悪いが、後から改良がしやすいようにと、コメントもついているし合格点だ。

「(悪役令嬢の)葵さん、よくできているよ。これからも頑張ってね。」

何気なく褒めたのだが、なんと悪役令嬢は柄にもなく照れていた。しかもとても嬉しそうだ。僕も入社して間もない頃、苦労して作ったプログラムを先輩に褒められた時とても嬉しかったのを思い出した。意外にも可愛いところもあるものだ。そして、この調子で悪役令嬢を育てていきたいと決意した。

しかし、彼女が退社した後、後輩の指導が気になって自分の仕事がぜんぜん進んでいなかったという事実に気付いてしまい胃が痛くなったのだった。

実際にPower Automateで作ってみよう

それでは、実際に、悪役令嬢の葵さんが作ったバックアップのフローを作ってみましょう。前回に引き続き、Power Automateを使ってみましょう。

Power Automateにはファイルをコピーするためのアクション「ファイル > ファイルのコピー」が用意されています。これを使えば簡単にファイルコピーができます。ただし、このアクションを使う場合、既にファイル名の分かっているファイルしかコピーできません。

  • 「ファイルコピー」アクションを使うとファイルのコピーができるが予めファイル名を指定する必要がある

    「ファイルコピー」アクションを使うとファイルのコピーができるが予めファイル名を指定する必要がある

しかし、今回やりたいのは、デスクトップにあるExcelファイルという曖昧な条件です。どうすれば良いのかと言うと、「フォルダー > フォルダ内のファイルを取得」アクションと「For each」アクションを組み合わせて使います。これによってフォルダ内の任意のファイルを列挙して、列挙したファイルを漏れなくコピーできるのです。

なお、Power Automate自体にOneDriveにファイルをアップロードする機能はないのですが、OneDriveはWindowsに最初からインストールされており、アプリにサインインさえしておけば、OneDriveのフォルダ内にコピーされたファイルを自動でクラウドにアップロードしてくれる機能を備えています。そのため、Power Automateを使ってファイルをOneDriveのフォルダ以下にコピーさえすれば、自動でバックアップできるという訳です。

ここでは次のようなアクションを組み立てます。そのために、こちらにあるコードをコピーして、Power Automateのキャンバスで右クリックして貼り付けましょう。

まず、Power Automateを起動します。そして、画面上部にある「新しいフロー」をクリックして、新規フローを作成しましょう。そして、上記より取得したアクションを構築するためのコードをコピーします。そして、キャンバスを右クリックして「貼り付け」を実行します。

  • コピーしたコードをPower Automateに貼り付けよう

    コピーしたコードをPower Automateに貼り付けよう

すると、以下のようなコードが自動的に構築されます。

  • バックアップのためのフロー

    バックアップのためのフロー

このフローは、1時間に1回、デスクトップにあるExcelファイルをOneDriveのフォルダにコピーするというものです。

ただし、コメントにTODOを書き込んでありますが、「フォルダー内のファイルを取得」アクションと、「ファイルのコピー」アクションでは、自身のPCにおけるフォルダパスを指定する必要があります。以下にある図の赤枠で囲ったアクションをダブルクリックして設定を書き換えましょう。

  • 書き換えが必要なアクション

    書き換えが必要なアクション

「フォルダー内のファイルを取得」アクションをダブルクリックして設定を編集しましょう。フォルダーの部分が筆者のPCでのデスクトップパスになっていますので、テキストボックス右側のフォルダーアイコンをクリックして、自身のパスを指定してください。

  • 「フォルダー内のファイルを取得」アクションを書き換えよう

    「フォルダー内のファイルを取得」アクションを書き換えよう

次に、「ファイルのコピー」アクションを選んでダブルクックして設定を編集しましょう。デフォルトでは筆者のOneDriveフォルダのパスが選択されています。そこで、自身のOneDriveパスに書き換えましょう。

  • 「ファイルのコピー」アクションを書き換えよう

    「ファイルのコピー」アクションを書き換えよう

また、Waitアクションには「%60 * 60%」つまり、3600秒(1時間)が指定されています。この部分を「30」とだけ指定すれば30秒に1回バックアップを実行するようになります。さらに「%60 * 60 * 2%」と書き換えれば2時間に1回実行されるようになりますので、調整してみてください。

上記の点、書き換えたら画面上部の実行ボタンを押してフローを実行してみましょう。

  • フローを実行したところ - デスクトップにあるExcelファイルがコピーされた

    フローを実行したところ - デスクトップにあるExcelファイルがコピーされた

物語 - 悪役令嬢視点

はぁ、お父様が同じ職場だとやりづらいとか言うから、仕方なく支社に移ることに同意したというのに、あの冴えない田中とか言うやつと、また一緒なんて最悪だ。

でも、私が憧れている孤高の悪役令嬢のように、タメ口でしゃべっても怒らないどころか、逆に笑顔で対応してくれる。しかも、今日なんて、仕事の後に爽やかに褒めてくれたし、意外と良いやつなのかもしれないわね。

いけない、いけない。田中のやつの事は気にせず、これからも悪役令嬢を目指して精進しよう。

(続く)

まとめ

以上、今回のプログラムでは、Power Automateを使った高度な条件を指定したバックアップの方法を紹介しました。Power Automateを使えば一般的なバックアップツールでは指定できない高度な条件を指定したバックアップも実現できます。ぜひ、Power Automateで業務にぴったりあった無理のないバックアップ処理を作ってみてください。

自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。直近では、「シゴトがはかどる Python自動処理の教科書(マイナビ出版)」「すぐに使える!業務で実践できる! PythonによるAI・機械学習・深層学習アプリのつくり方 TensorFlow2対応(ソシム)」「マンガでざっくり学ぶPython(マイナビ出版)」など。