とりあえず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のなんか