Pythonインストールできないんだけど!
なんかいつもこれ同じ作業してるよな、自動化出来ないかな…よしやったる!
↓
みんなー!こんなツール作ったよー、使ってみてー!
↓
そして起こる「ちょっと、俺、.pyとかいう拡張子使えないんだけど」の声。
会社のPCって外部のアクセス禁止だったり新規ソフトウェアのインストール制限があったりと、色々制約がありますよね。この制約のせいで、作ったはいいが使えなかった、みたいな理不尽なハマり方したり、一方で試してみたら意外とこれ動いちゃうんだ!?みたいなこともあったりするので、ここではそんなずる賢い業務改善を必死に考える社員のみんなに、どれでやれば利用可能なツールづくりができるのか、その選択肢を載せていくよ。
Python + exe化ツール(Pyinstaller)
やっぱ中身含めてファイル操作系でちょこちょこやるならPythonが楽だよね。ただ、Pythonインストールできないんだよな…そんなあなたに、Pyinstaller。これを使うと必要な機能をexeファイルにパッケージしちゃうから、会社環境でも簡単実行できちゃう!やったね!
まあ、会社利用ツールを作成する外部作業PCがあって、そこから会社のセキュアなPCにexeファイルを送り込めちゃうセキュリティホール、身元不明内exeファイルを実行できる権限と勇気、怒られる覚悟が必要だよ。
利便性:★★★★★
安全性:★★☆☆☆
その前にそのセキュリティホール塞げよの声:★★★☆☆
Power Apps + Power Automate
現在おそらく最も会社的にもセーフな王道方式。Teams/SharePoint連携による他の方への展開も出来て、頑張ればファイル操作から条件トリガーの自動実行まで幅広い可能性が秘められてます。お金が潤沢な企業ならCopilotを使ったコーディングも可能。今後はきっともっと簡単に作れるように!?
ただし、アプリ作成権限が与えられておらず、情シス相談が必要なケースもあり〼。また、処理量によっては追いつかず、Exception書いてるのに無言で処理実行停止→お休みなさい、を普通にしますので、定期的に実行監視が必要。加えて、こういうチート作業をしようとしているプログラマ気質な人からすると、コピペで入れ子操作が狂ったりする融通の効かなさや、マウスでドリルダウン選択を強いられてしまうローコード開発環境オンリーのため、お気軽に発狂できて自己鍛錬になります。そしてMS社特有のネーミングセンス、アンチSEOなプロダクト名のため、開発情報がまず引っかからないこと、そして、Power Automateの英語版およびPower Automate Desktopという亜種のせいで実はできないことがヒットする始末です。
利便性:★★☆☆☆
安全性:★★★★☆
MS社へのイライラ募り度:★★★★★★★★★
Excelマクロ(VBA)
色々試して色々と諦めた人が行き着く自動化の掃きだめ約束の地。Excelという社内利用率最強のアプリで、Excel外部含めてファイルを好き勝手いじれるのは非常に魅力的。Excelは実行環境だったんや!運用現場で重宝され、マクロ作ってればDXだ!って言い張れるところも熱い。
ただ、セキュリティ的には非常に危うく、めっちゃ警告出てくる。それにも関わらず知らん人から受け取ったxlsmを不意に使う同僚がいたら私はどうしたらいいですか。そして、デザインはどう上手く作ってもWin98時代のウィンドウしか作れないのでデザイナー発狂。まあ自分で使うツールなら我慢して使いますかね…?
利便性:★★★★☆
安全性:☆☆☆☆☆
DX活動やってる感:★★★★☆
Office365 OfficeScript
ExcelマクロのOffice365版みたいなやつ。なんとJavascript(ライク)でマクロがかけちゃうツール。MS社としてはVBAで空けてしまったローカルPCへのセキュリティホールを鑑みてこちらに移行させたいんだろうな、という気概を感じられます。マクロと同じく、操作の記録→コード化もできるので比較的作成も簡単。
が、対象はWebブラウザ版Office。操作性がローカルOfficeと異なり、Excel編集してるとできないことにぶち当たってローカルPCアプリで開き直すことが多く、結果、せっかく作ったスクリプトがみんなに活用されず涙を流す。涙の数だけ強くなれ。Excelマクロの要領で作っても多分失敗します。
利便性:★★☆☆☆
安全性:★★★☆☆
知名度:☆☆☆☆☆
Office365 OfficeScript + Power Apps + Power Automate
ひとつで苦戦するなら全混ぜじゃあ!OfficeScriptはなんと、前述のPower Automateをつなぐことも出来て、Excel外のトリガーでExcelスクリプトを動かす、というトリッキーなことが出来ちゃう素敵仕様なのです。この3つを使えば、PowerAppsでUIを作り、トリガー部をAutomateで拾い、OfficeScriptを実行、という数珠繋ぎなことができます。
問題はわかりますね?この3言語全部使えないと作れません。学習コストがでかーい!!!
利便性:★★★☆☆
安全性:★★★☆☆
これ内製開発でやるの無理ないっすか?という部下の声:★★★★☆
Excel Python
一時期話題になった。まあこれはExcelで閉じてるので、多分ここに書いた他の選択肢を検討してる人からすると対象外だと思います。
コマンドプロンプト / PowerShell
最強。これが塞がれている環境は今のところ見たことがない。ファイルの一括リネーム等、上手くコンパクトに考えれば活躍の場は広い。ただし、前時代プログラミング言語なので作るのは大変。正規表現。正規表現。
利便性:★★★★☆
安全性:★★☆☆☆
プロっぽさ:★★★★★
Webブラウザ+HTML+Javascript
環境が許されれば実は一番小回りの効く有用なツール。ローカルストレージを利用したメモ帳的運用や、フォーマットを決めておけば簡易なフォーム入力等で入稿作業的に定期報告系の資料を作る運用ができる。
ローカルで開くと一部機能を実行できない問題があったり、環境設定に難あり。自社からアクセスできるウェブサーバやらAWS S3やらに置ける立場なら作業は非常に捗る。セキュリティはちゃんとかけよう。ただ、ここまでちゃんとやると、これもうほとんどSaaSサービス作ってるんだよなあ。ツールとは。
利便性:★★★★★
安全性:★★★★☆
必要な開発力:★★★★☆
RPA
PCの外から操作を記録してやればええんや!という身も蓋もない方法。ただ、ほぼすべての作業を肩代わりできる自動化最強ツール。
たまに意図しないずれ方などして変な操作が生き残ったりするので、自動で動く画面を見守る運用が必要になり、俺は一体何をしているんだろう?という気持ちに陥る。ターゲットとするボタンをクリックするといったきめ細やかな調整や前段処理がロスした時の挽回方法など、難しいことをやろうとするほどハマるので注意。改善業務のはずが、その担当者になると業務が増えて不幸になる不思議。
利便性:★☆☆☆☆
安全性:★☆☆☆☆
でもこれが業務なので…という諦めの声:★★★★★