2010-05-01から1ヶ月間の記事一覧

第28回 Excel VBAで文を改行するときは 半角空白 + アンダーバー

VBA

配列を入れ子にしたいときなど普通に改行して書くと思うんだけどVBAだと _をつけないといけない。 こんな風に Array( _ Array("AA", "BB"), _ Array("CC", "DD"), _ Array("EE", "FF") _ ) 参考: VBAで改行: Excel VBA

第27回 Excel VBAでじゃんけんプログラム   多段ハッシュ(多段連想配列)を使った例

VBA

無名ハッシュがなさそうなので、小さなハッシュを作ってから判定ハッシュを構築することにした。hash_gu を使いまわししてもいいんじゃないの?と思ったが、 同じキーが登録されると例外を投げるみたい。 そもそも hash_gu の値が書き換わってしまうと hante…

第26回 Excel VBAでハッシュを使う

VBA

CreateObject("Scripting.Dictionary") でハッシュを取得できる。代入時にはSetが必要。 Setが必要な場面はオブジェクト型の代入のようだ。 Rubyのように全部オブジェクトにしといてほしいが、そうでもないようなので、 覚えたほうが早そうである。 Setが必…

第25回 Excel VBA で デバッグ

VBA

PHPの print_r や PerlのDumperなどのように変数の中身を見たい場合があるが、これはVBAには用意されていないようなので、デバッガーのウォッチに変数を登録して中身を確認するのが一般的なようである。 なお、このウォッチで多段配列の中身を見た場合には、…

第24回 「Excel VBAでの動的配列」と「Rangeオブジェクトと配列の操作」

VBA

配列の操作 VBAでは push, shiftなどの気の利いた関数が用意されていない。 というか、動的配列を使うのが少し面倒。push, shiftなどは用意されていないので普通に、 hoge(10) = "aaa" hoge(11) = "bbb"というように代入する形をとる。 このとき配列の大きさ…

第23回 自分用デザインパターン まとめ

前提 継承を用いて、親クラスの機能を子クラスが拡張することによる拡張を「静的な拡張」、実行時に new などによって作られたインスタンスを受け取りそのインスタンスを使って機能拡張する拡張を「動的な拡張」と呼ぶ。 静的: class 親{ do{} } class 子 e…