この記事は「中小企業のデジタル化を低コストで実現したいのですがどうしたら良いでしょうか?」といった疑問に答えます。
目次
IT導入支援の案件
とあるIT導入支援の案件で次のようなご要望を頂きました。
- ご依頼主は食品加工業の会社
- 各工程の品質チェックを現在「紙」で記録している。これをペーパーレス化したい
- 大量の紙から解放され、食品のトレーサビリティなど検索時の効率を上げたい
今でも日本の多くの会社、とりわけ中小企業では紙のチェックシート(記録用紙)が現役で稼働しておりこれをデジタル化したくても、ITがわかる人材がいない、あまり予算をかけられないといった事情で「現状維持」になってしまっています。
こういったシステムを構築するITベンダーもそれなりにいるかと思いますが、なにせコストが高く、これだけのデジタル化でも数百万円という見積になってしまうようです。これもある意味「情弱ビジネス」なのかもしれません。
そこで今回は私の低コストで簡便的なソリューションが採用されるに至りました。
低コストなソリューション
なぜ低コストなのかと言えば、次の理由があります。
- 基本「無料」のものを使う
- 開発はなるべく「枯れた技術」を使う。その方が安定かつ迅速に開発でき開発工数がかかりません
- 開発は私自身が行う。一部お客様の中でITに詳しい方のお力を借りつつ
つまり、初期投資もランニングコストも抑えつつ、私の人件費(時間単価)くらいしかかからない状況です。余計なマージンが乗っていないので安くなります。
簡便的なソリューション
上述のとおり枯れた技術を無料で使う、というのが基本的な姿勢です。それで考えだしたソリューションが以下のものです。
- 現場作業者の入力はAndroidタブレットを使う。タブレットはAmazonなどで売っている1万円以下のもので充分です。
- Android版のExcelでチェックシートを提供する。Android版のExcelは無料です。
- Excelデータの保管場所はマイクロソフトのOneDriveを使う。個人用のマイクロソフトアカウントを作成すると5GBまでのOneDriveが無料で使えます。
- データ処理用に中古のOffice付きパソコンを1台用意。量販店でスペック充分なものを10万円以下にて購入。
- 工場のオペレーションは20時間ほどの連続運転で朝方ラインが止まるため、この時間を利用してデータ処理する。
- データ処理の内容は以下のとおり。作業者が記入したExcelの記録用紙を管理用パソコンに取り込み、別のExcelマクロでデータ集計の処理を実行、かつ昨日分の記録用紙をバックアップして、本日の作業用に白紙の記録用紙をOneDriveにセットアップ。
こうすることで、毎日の記録用紙と毎日のデータを集計したもの(Excelファイル)ができます。トレーサビリティについては過去の記録用紙を簡単に検索できますし、集計したデータを使うと時系列での分析などが可能となります。
ここまででかかった費用は、タブレット代、パソコン代、私の人件費、だけです。ITベンダーが持ってくるソリューションに比べるとかなり安くなるでしょう。ExcelもOneDriveも無料ですから助かります(マイクロソフトさん、ありがとう)。
中小企業庁の「デジタル化応援隊」事業の補助金を活用すれば、さらに企業側の費用負担は軽減できます。
データ処理の流れと落とし穴
とはいえ、開発の過程においてはいくつかの落とし穴があり、漏れなく嵌ってしまった(笑)ので、それなりに苦労しました。自分に対する備忘の意味もあり、データ処理の流れとともに整理しておきます。ここから先は若干技術的な話です。
データ処理の流れは以下のとおりです。
- Windowsに搭載の「タスクスケジューラ」(これも無料)から毎日朝7時にバッチ処理プログラムを起動
- バッチのなかでファイルの移動やコピーをを行う
- バッチのなかからVBScriptを実行
- VBScriptからExcelマクロを実行
バッチから直接Excelマクロを実行することはできないので、VBScriptを経由してExcelマクロを走らせています。
以上を開発する過程で嵌った落とし穴は次のようなものでした。
(1)バッチの文字コードを間違えた
バッチプログラムはただのテキストですので「メモ帳」で作成したところ簡単なものでも動作せず「どうしてだろう?」となりました。
理由はメモ帳の文字コードは初期値が「UTF8」だったからです。なぜかバッチは文字コードをShift-JISにしなければ動作しません。文字コードを変えるには保存の際にコードとして「ANSI」を選ぶだけです。
バッチは大昔からある枯れた技術ですが、それゆえにUTF8に対応していないのかと思います。
(2)バッチの中は全部フルパスで書く
バッチプログラムを書くときの注意点として、そのファイルがどこのフォルダ(ディレクトリ)にあるのか?ということがあります。プログラム内でカレントディレクトリを変更することでも対応できるのでしょうが、ごちゃごちゃになり嵌りました。
ここは素直にファイルはすべてフルパスで書く、というのが吉です。フルパスというのはC:\test のようにドライブ文字から開始する指定方法です。
(3)OneDriveのフルパスがトリッキー
WindowsはOneDriveを登録するとクラウドにあるファイルでもフルパスでアクセスできるようになります。あたかもローカルに存在するように扱うことができ、これによりバッチ処理の対象にすることができます。
ですが、このパスがちょっとトリッキーで嵌りました。日本語版Windowsの場合「C:\ユーザー」の下にあるように見えますが、バッチからは「C:\users」として指定しないとダメです。
(4)VBScriptのコメントアウト
これは単に自分が無知だったせいですが、ネット上にあるVBScriptの1行コメントが「//」で始まっていたため、それを真似たところエラーになり嵌りました。
正しくは「’」(半角のシングルクォーテーション)でした。こういったちょっとしたことでもいちいちつまづくものです。
各コードについては著作権の問題があり公開できませんが、そのうち一般化したサンプルコードとして公開したいと思っています。
以上、工場の「紙」のチェックシート(記録用紙)をデジタル化(DX)した事例、という話題でした。世の中的に「DX」というキーワードがありますが、情弱ビジネス化してしまっているなあという感想です。お金をかけずに構築できるシステムもたくさんあるものです。私への案件のご依頼・お問い合わせは以下よりお願い致します。
★★★ 人気記事 ★★★