【VBA】別OfficeアプリにVBAを記述する理由
ユーザー目線で考える
どうも✋最近、やっと体調が回復してきたJimです😓
ということで今回は、、
『何でExcel操作するのにExcelにVBAを記述しないの?』
について、その理由について書き散らかしていきます。
な~んでかっていうと、特に意味はない。。
けど、ユーザー目線で考えたら、仕様の段階でそうなっちゃった。っていう。。
じゃあ、理由はユーザー目線か。。。
まあ、大きく分けると3点ほど理由があったのかなと。
業務ごとにマクロファイル使い分けるのは面倒
今までは、依頼ごとにマクロ作成してたけど、今回は『チームが手動でやってることを自動化』っというザックリの依頼。
勿論、そのチームには複数の業務がある。
んで、そこで業務ごとにマクロファイルを作ると、ユーザーは使い分けが面倒なわけで。
そのマクロは複数の人が使用します
当たり前田のクラッカーだが、1つのマクロで色んな業務ができるとしたら、同時に複数の人が使うわけで。
もう、読み取り専用にした方が使いやすいよね。っということ。
業務によってユーザーごとに進捗を管理する必要がある
読み取り専用にすると、『誰がどこまで』といった進捗管理や個人の設定みたいなものをExcelスプレッドシートでやるのは難しいよね。そうなると、もうアレだよね。
データベース管理になる
そう、データベース管理がスマートでしょ🍸
身近なもので言ったらAccess。せっかくAccessあるんだから使います。
Excelでも出来ないことはないけど、、、
大事!使い分け!
というか、Excelだとユーザーにいたずらされるし、慣れればSQL使た方が簡単でメンテも楽でしょ。
といっても、AccessにVBAを記述するわけじゃないっていうね。。
Accessで、ユーザーフォーム作るの面倒だしね。。。
ん?「なんでユーザーフォーム?」と思いました?
これにも理由があってね。。。
アプリケーションを非表示
Officeアプリケーションのタブやリボンって・・・邪魔じゃね?
邪魔でしょ❗
ユーザーにとって、それらは不要な情報だしね😥
だから、Open時のイベントでユーザーフォームを表示して、アプリケーションを非表示にする。。。
こうすれば、ユーザーフォームのみが表示されます。
スッキリするし、開発者のターンね👍
機能モリモリのツールを作る時なんかは、間違った使い方されたくないから、こんな感じでユーザーフォームのみを表示するようにしてます。
ユーザーフォームオブジェクトの種類は豊富で、ラベル・テキストボックス・コンボボックス・リストボックス等々、、、
ツールボックスに表示されていないものある⚙
そして、そのオブジェクトもコードで色々操作できる、、、
表示非表示・サイズの変更・座標の変更・フォントの変更等々。
工夫次第でユーザーを導いてやることができます。
だから別にさ、アプリケーションとかスプレッドシートいらんのよね。
勿論、計算結果はアプリケーションに表示させたりしますよ。
はい、そんな感じ。
ユーザー目線で考えると、加工とか操作するアプリケーションにVBAを直接記述するわけじゃなく、他のアプリケーションにVBA記述する手もあるよ。っていうお話でした。
ちなみに自分は、ユーザーフォームのClose時のイベントでアプリケーションも閉じてます📚
まあ、面倒だよね。。
でも、面倒なことするのが仕事なんだよ。。。
ってことで、またのん✋
ディスカッション
コメント一覧
まだ、コメントがありません