配布して「誰でもすぐ動くもの」を作ろうとしたとき、思っていた以上に“環境の壁”は高い。
配布できるプログラムを作りたい、という話
簡単に作れて、なおかつ配った相手のPCですぐに動く。
そんなプログラムを作りたいと思い、いくつかの選択肢を検討した。
まず目を付けたのがPowerShell。
Windowsに標準で入っているので、追加インストール不要という点はかなり魅力的だった。
「これならいける」と思った。
見落としていた落とし穴
しかし、実際に試してみると、いきなりつまずく。
PowerShellのスクリプトは、デフォルトでは実行できない。
実行するには以下のような設定変更が必要になる。
つまり、受け取った人が自分で設定を変更しないと動かない。
なぜこれは致命的なのか
ここで問題になるのは、「動かない」ことそのものではない。
“説明が必要になること”が問題。
- 手順書を配る
- 設定変更をしてもらう
- エラーが出たら個別対応する
この時点で、「配ればすぐ使えるツール」ではなくなってしまう。
特に社内や知人に配る場合、
「動かないんだけど?」対応が発生した瞬間に負けだと感じた。
結論:技術よりも“配りやすさ”が重要
結果として、選択肢は現実的なものに戻った。
- Excel VBA
→ ほぼ確実に動く。説明不要。最強の配布手段。 - C#(Visual Studio Community Edition)
→ exe化できるので配布しやすい。ただし実行環境(.NET)の考慮は必要。
考察:技術選定の優先順位
今回の経験で強く感じたのはこれ。
「作る難易度」より「使わせる難易度」の方が重要
PowerShellは確かに手軽に書ける。
でも、「相手に使ってもらう」までを含めると、一気にハードルが上がる。
具体例で考える
例えば、社内で簡単なツールを配るケース。
PowerShellの場合
- 「このコマンドを管理者で実行してください」
- 「セキュリティ警告が出ますがOKです」
- 「うまくいかない場合は連絡ください」
→ もう使われない
Excel VBAの場合
- ファイルを開く
- 「マクロを有効化」を押す
→ 使われる
この差はかなり大きい。
まとめ
PowerShellは便利だが、配布用途には向かない場面も多い。
「誰でもそのまま使えるか?」を基準にすると、
- とにかく手軽に配りたい → Excel VBA
- ある程度ちゃんと作りたい → C#(exe化)
という判断に落ち着いた。
ツールは“動くこと”より、“使われること”が正義。
この視点を持っておくと、技術選定で迷いにくくなると感じた。
The following two tabs change content below.
フリーダム
金融系システムエンジニアが、業務効率化や日常の工夫を発信しています。
日々の作業を少しラクにするアイデアやツールを記録しています。
忙しい中でも役立つヒントになればうれしいです。
最新記事 by フリーダム (全て見る)
- Android個人開発、最後の壁は「テスター12人」だった話 - 2026-04-04
- 【保存版】テニススクールで学んだことまとめ|3年間の気づきと上達のコツ - 2026-03-29
- OpenAIのAPIキーを使って利用する方法 - 2025-08-20
