今回は、テレワークで利用できる簡単な申請書アプリの作り方を紹介します。新型コロナウイルスの感染防止策として、テレワークを始めた方も多いでしょう。ところが、会社では紙ベースの業務が多いために、やむを得ず出社をしている人も少なくないはずです。このような時、申請業務の一部だけでもペーパーレス化できれば助かりますよね。

今回作り方を紹介する申請書アプリは短時間で完成するスマホアプリです。開発者ではない方も簡単にできるので、試してみてください。

(1)登場人物をリストアップする。

今回は「社内物品購入申請書」をアプリにします。サンプルを用意しましたが、実際にお使いの申請書を手元に用意いただくと、よりわかりやすいと思います。最初に申請書に関わる人をリストアップしてみましょう。申請書の内容を確認してみると、登場人物は申請者、課長、部長、社長ということがわかりますよね。

(2)業務の流れを書き出してみる。

続いて、業務の流れを書き出してみましょう。申請者は最初に申請書を用意します。次に、申請内容を記入します。内容を確認して押印し、申請書を承認者に渡します。承認者は内容を確認し、問題がなければ押印して上位の承認者に渡します。社長までステップが進み、承認日が記入されると完了です。

この業務の流れを「アプリを使った業務」に置き換えるとどうなるでしょう。最初にアプリを起動します。表示された入力フォームに申請内容を入力します。内容を確認して保存ボタンを押します。入力したことが承認者に通知されると、承認者は入力内容を確認して確認日を保存します。社長までステップが進み、承認日が登録されると完了です。

(3)アプリで管理する項目を書き出してみる。

次に、アプリで管理する項目を書き出してみます。手書きでもいいので、まずは申請書の内容を書き出してみましょう。少し多いですが申請書には下図のような項目があります。一番先頭の申請番号は申請書にはありませんが、データを一意に管理する必要がありますので先頭に追加します。

書き出した項目を新しく作成したExcelシートの1行目に並べます。続いて、サンプルデータを2行目に入力しておきましょう。「テーブルとして書記設定」ボタンを押して、テーブル名を「社内物品購入申請書」と入力して保存しておきます。作成したExcelファイルはOneDriveの任意の場所に保存します。

(4)ExcelをPower Appsでスマホアプリに変換する。

Office 365のPower Appsを使えば、先程作成てしたExcelシートをそのままスマホアプリにすることができます。作業手順は以下です。

  • Office 365のホーム画面よりPower Appsを起動して新規ボタンを押す
  • 「+新しいアプリ」より「キャンパス」を選択し、OneDriveの携帯電話レイアウトを選択する
  • テーブル選択より、社内物品購入申請書のExcelシートを選択して接続ボタンを押す
  • 十数秒待つと、Excelテーブルにデータを登録編集できるアプリが作成される

このアプリはExcelテーブルの内容を表示する一覧画面、選択したデータを詳細表示する詳細画面、データを編集する編集画面の3つの画面で構成されています。

(5)アプリの画面を修正する

一覧の項目は修正することができます。項目を追加する際は、メニューの「挿入」より「ラベル」を選択します。追加したラベルのプロパティを見ると、「ThisItem.〇〇」となっているのがわかりますよね。この〇〇の部分をExcelシートの項目名にすると、その内容を表示することができます。ラベルはドラッグ&ドロップで移動できます。文字の色や背景はWordの操作と同じように変更することができます。

詳細画面も修正してみましょう。画面左側を見ると、ツリーが表示されていますよね。「DetailScreen1」が詳細画面のスクリーンです。詳細画面に表示されているデータの各項目はフィールドと呼ばれています。フィールドは「フィールドの編集」ボタンから修正できます。「+フィールドの追加」でExcelシートの項目を追加することもできます。フィールドの順番はドラッグ&ドロップで直接入れ替えることができます。

編集画面も詳細画面と同じように、ドラッグ&ドロップで編集できます。ツリービューにある「EditScreen1」が編集画面です。

(6)押印機能を追加する

Excelシートにデータを登録する仕組みが出来上がりました。最後に、詳細画面に押印機能を追加してみましょう。

手順(1)では、編集フォームに申請番号を追加しています。今回の押印のアクションはPatchという関数を使います。Patch関数ではExcelテーブルにデータに書き込む際に、書き込み先を指定する必要があります。そのため、現在日時を使って重複しない番号を作成し、申請番号としてセットしておきます。詳細画面を開いた時に申請番号が呼び出せますので、その番号を持つデータに対して押印のアクションを起こすという仕組みです。

IF文にある条件式「EditForm1.Mode」は新規登録かどうかを判定しています。新規の場合は現在日時を、新規ではない場合は登録済みの申請番号を呼び出しています。

手順(2)では押印画像をアップロードしています。当コラムの押印サンプルはPowerPointで作成したものです。画像のアップロードはメディアから画像を選択。ファイルダイアログを開いて画像ファイルをアップロードします。

手順(3)では、アイコンの四角形で押印する枠を作成しています。デフォルトの四角形を透明色で塗りつぶし、いくつかの四角形を組み合わせて作成します。

手順(4)では、「押印画像」の表示と押印欄を押した時のアクションを記載しています。押印が表示されていない押印欄を押すと承認日が登録され、登録のアクションをトリガーに押印を表示する仕組みです。

最初に、押印画像をセットします。メディアから画像を選択して、「プロパティ:Image」を承認印とします。「プロパティ:Visible」では押印の表示非表示をコントロールできます。IsBlank関数は承認日がセットされているかどうかを判定します。LookUp関数はExcelテーブルから呼び出したデータの承認日を取得しています。IF文で条件式をつくり承認日がある場合のみ押印を表示するようにしています。

押印のアクションは、透明に塗りつぶした四角形のアイコンを使用します。「プロパティ:OnSelect」はアイコンを押した時のアクションをセットします。アイコンを押すとPatch関数が動き、承認日に現在日時がセットされます。承認欄は指定したユーザーしか押せないよう、メールアドレスで操作制限を設けています。

プロパティのセットの仕方については、まずは下図と同じように設定してみてください。承認欄は社長、部長、課長、それぞれに同じようにセットしてみてください。

(7)ワークフローについて

今回の内容だけで一通りアプリを作成すると、下図のようになります。申請書アプリのようなワークフローシステムは「業務の一連の処理手続きを定義する」ことなので、今回のように、臨時ではなく本格的に運用するにはもう少し仕組みが欲しいところです。

例えば、申請や承認をした時に関係者にアラートを出さないとアクションが伝わりませんよね。承認者が複数いたり、代理申請をしたりする場合もあると思います。実際の運用を確認すると、さまざまなルールがあることに気づくと思いますが、Power Appsでは、ある程度複雑なルールも工夫次第で柔軟に受け止め、仕組みをカタチにすることができます。非開発者の方でも短期間で習得できると思いますので、ぜひ挑戦してみて下さい。

著者プロフィール

三島正裕


1978年島根県生まれ。ディーアイエスソリューション株式会社所属。クラウドサービスを中心としたシステム提案やアプリケーション開発をする傍ら現在はマイクロソフト製品の活用事例「Office 365徹底活用コラム」を自社サイトで執筆中。