2009年3月5日木曜日

ExcelVBAを始めてみた

Assum(統計ソフト)はクロス集計表毎にシートを生成する。例えば「商品A,B,C」という3つの商品別に「売上・コスト・利益」という分析軸を指定すると、合計9枚のシートが生成される。

全てのシートが一つのファイルに保存されるため、これらのシートを特定の条件別にファイルに出力したいがAssumでは無理そうなのでExcelVBAに挑戦することにした。

今までテキストファイルの処理がメインだったためExcelVBAを利用する機会がなかった。新しい言語に抵抗があったためPerlのWin32::OLEを考えていたが、やはりVBAでやることにした。

Visual Basic Editorは機能が充実しているので使いやすかった。今まではテキストエディタしか使ったことがなく、perlもデバッグオプションで走らせることがないので、ところどころprint文が埋め込まれていたが、VBAではインタラクティブに変数の値が確認できる。

ただ、Perlと違って連想配列(ディクショナリ)にWorkbooksプロパティのようなものまでは入れられないみたい。あと、最後にセミコロンをつけると怒られる。くせなんだよな~。

今日作ったスクリプト(ちょっと削ったが)をWikiにアップした。こうやって少しずつノウハウを貯めていこう。

0 件のコメント:

コメントを投稿