とりあえずVBA終了

単純にCSVからExcelにコピペするだけなんだけど、仕事の合間にのらりくらりやったら3週間ぐらいかかったのか。初めてVBAでクラスとかAPI呼び出しとかActiveXとかOLEオブジェクトやフォームとか使ったんだけど、なんていうかメンドクサイですね。
継承できないのはさほど問題じゃないと思ったけど、いつも共通の処理はクラスに書いて、インスタンスで個別処理を行っていたのですが、共通処理を書いてもサブクラスでは無視されるため、サブクラスでスーパークラスインスタンスを作成してメソッドを実行してから、サブクラスをインスタンス化してとか・・・。
あとはエラー処理も面倒だった。Excelでブックやシートがあれば実行、なければ実行しないってよく使うと思うんですけど、

IF Workbook = "name" then ...

とかやって name が見つからないとエラー扱いされるので、Workbooksコレクションからfor eachで名前探してあればTrueなければFalseとかいう関数作ったりとか。。


まぁ、もうVB6らへんはおなか一杯!今まであまりクラスに馴染みがなかったんで、勉強できたといえば出来たけど。今度はデザインパターンを勉強してみよう。あとはEQ2のログ解析ツールを.Netあたりでリライトだな。
ref.VBAってよく考えられてるな - Stingrayのなんか