ユーザーフォームに夢中

本当は他にやらなければならない事が山ほどあるのですが、またVBAにハマっております。VBAのユーザーフォームにドハマり中です。
イベントプロシージャを作って動かすのが楽し過ぎてw
ユーザーフォーム作成の練習として、住所録作成をやっています。

こういう感じのやつ

ユーザーフォームの部品はめちゃくちゃ沢山あるからいちいち全部を覚えられないけれど、とりあえずラベルとかテキストボックスとかコマンドボタンとかコンボボックスとか基本的な内容は全部把握していちいちググらなくても書けるようにはしておきたい。
あと、最近になってようやくオブジェクト指向が感覚的に分かるようになってきた。あくまでも「感覚的」なんだけど。
自分のプログラム学習歴は最初はRubyから入って、その後JSに流れたのだけど、オブジェクト指向言語を長く学んでもオブジェクトの概念は本当に全く理解出来ていなかった。
学習歴が長くなってもオブジェクト指向がさっぱりわからなかったし、オブジェクト自体がわからなかった。「〇〇はオブジェクトです」って言われても理解出来なかった。
聞いていると全部オブジェクトじゃん、じゃあオブジェクトじゃないものは何なのだ?という位にオブジェクトかそうではないかの違いも全く分からなかった。
でも今は分かるようになった。オブジェクトはプロパティとメソッドを持つというのも理解出来るし、何がオブジェクトかが分かるから、「これはオブジェクトだからこういう書き方をする」と、ドットで繋げるのだ。と、書き方も分かるようになった。ただし全部肌感覚でだけど。
その理解を言葉で説明しろと言われると出来ないんだけど、感覚的にはわかる。それだけでも大分成長したと思う。
そもそもプログラマーやSEを目指しているわけではないのだからオブジェクト指向を正確に理解しなくても問題は無いのだ。

で、ユーザーフォームなんだけど、それぞれの部品のオブジェクト名を初期設定から変更してイベントプロシージャを書くと上手く作動しない事がある。
単純にスペル間違いとかそういうミスなんだけど、どこが違うのかを発見出来ずに結局作成し直して初期設定のオブジェクト名のままで動かしたりした。
今回は練習というか学習だから良いものの、実際に運用するシステムだった場合は問題で、やはり部品のオブジェクト名もそのフォームと関連付けた名称にしておきたい。
こういうスペルミスとか大文字小文字間違いだとか些細な細かいミスは他の学習している時も同じで、例えばHTMLで付けたクラス名をCSSで1文字とか間違えてスタイルが変わらない変わらないって騒いだらスペル違いだったとかありがちでもう何万回やったか分からないようなミスなんだけど、なかなか治らないんですわ。

それにしてもユーザーフォームめちゃくちゃ楽しい!
これまで作ってきたマクロは自分一人で使うものだったので、私だけ仕様を知っていて私だけが使えれば良いのだから、エラー時もデバッグ画面が出る仕様にしていたのだけど、
最近では「もしもこれが外部から依頼を受けたシステムで、私以外のユーザーが使用する場合だったら」と想定して、エラー時にメッセージボックスを出力したりとか、閉じる前にアラートを表示させてからEndさせるとか、ちょっとシステマーっぽく作ったりしている。それがまた楽しいw
Alt+F8から動かす一辺倒だったけれど、イベント駆動型にしたりとか、面倒だけどテキストボックスを設置してマクロを登録したりしている
(私はテキストボックスとかクリップアートとか好きじゃないんです、センスが無いからw)

それにしても非常に楽しい。また色々と作りたいシステムのイメージが出てきた。今の仕事で使える内容。工数かなりかかりそうだけどでも作ってみたいなあ。
でもそんな事やってると当分辞められないよなあ。これ作れるんだったらまだ勤務続けてもいいかな、でもそんな事言ってるから踏ん切りがつかずに今まできちゃったんだよな~。


本日もご訪問頂きありがとうございました!
ブログランキングに参加中です。応援クリック頂けると嬉しいです♪