オブジェクト指向錯誤
仕事であって、仕事ではないエクセルVBAでのスクリプティング。
ほとんど、趣味みたいなものですけどね。
てか、おいらはプロでもないし、そういう仕事でもないし。
まあ、要するに、先人が作った業務管理アプリケーションの見直しって言う奴です。
だから、仕事なんだけど、それでなんか利益を生み出すわけではないし、報酬が出るわけでもないので決して仕事ではない。
今現在使われている業務管理のためのアプリケーション。
中身を観れば、いやぁ、すごいですよ。
とても、ずぶの素人が作ったとは思えないくらい構造化されているし、オブジェクト指向も取り入れられている。
ある意味、すごいです。
先人の努力は、さぞかしすごかったものと思われます。
それに比べて、おいらはどうしようもなくひどいです。
何がひどいって、構造化してないし、オブジェクト指向も目指していない。
基本、Functionで何でも処理しますw
前述の、先人が作ったものを眺めていて、クラスモジュールを沢山使っていて、オブジェクト指向型の脳みそを持っていないおいらには、オブジェクト.プロパティ…みたいな記述がどうもブラックボックスになっているようでなじめなかったのを、今でも鮮明に覚えています。
つい先日、Statics宣言を使ってインデックスワードで参照できる配列を擬似的に作ったのですが、Functionで作っていくと、動きを追加する際に面倒だなーと言う気がして、クラスについてネットを探し回りました。
おかげさまで思惑通りに、動きを追加するときに楽になりました。
で。
さらに悪巧み。
Funcitonで処理しているフォームの入出力を暮らすモジュールでやらせてみようかな。
なんて思って、チョチョいっと作ってみた。
しかし、うまくいかないorz
[vb]public obj as object[/vb]
と記述して
[vb]set testobj = UserForm.Textbox1
test.obj = testobj[/vb]
このあと、クラスモジュールの内部にアクセスしてもオブジェクトとして受け取ってくれていないらしい。
なんぞ、with構文が初期化されていないかオブジェクト変数が正しくないとかいうレッドカードを出してくる。
従来通り、関数型にして、引数でオブジェクトを渡すとちゃんと受け取ってくれるので、支障がないと言えば支障がないのが、これだとわざわざクラスモジュールにする意義があまりなくなってしまう。
仕様なのか、使い方が悪いのか解らないが、何ともめんどくさいなぁ…。
とりあえず、今日はベースの技術(Statics宣言の変数を使ってインデックスワードで参照できる擬似的な配列)がほぼ出来上がったので、次はフォームの動きと、ワークシートとのやりとりの部分などを作っていくことになる。
出来上がるのはいつのことなのだろうか…orz
てか、出来上がるのか!?