Excel VBAを使って

男にはやりたくなくてもやらなきゃいけないことがある.
それはいかにVBが嫌いだろうがなんだろうが, やらなきゃいかんのや…

以下Excel VBAへの個人的な愚痴

え, 型を宣言しなくても変数が定義できちゃうの?

  • Variant型…便利なのはわかるけどさあ…
  • こいつ今持ってる値何型で処理してんだろう…
  • おいおいシュレディンガーの猫

オーバーロードできないのかよ

  • M$さん, 引数が別な同じ名前のメソッドを作るのがそんなに罪なんですか?
  • Variant型を引数にしてどうにかできるらしいけど…

おいおい, コンストラクタってどうやって定義するんだよ

  • Public Sub Class_Initialize()って…
  • しかも引数を持たせられないとか…
  • もう(メンバの初期化ぐらいしかでき)ないじゃん…

継承すらできないんですか…

  • そんなんクラスを定義する意味ないやん…
  • 標準モジュールでもシコシコ書いてなさいってこった

なんのためのオブジェクト指向だあああああああああああああ

  • しかもインスタンスを格納するときにはSetをつけなきゃいけないなんて…
  • Javaだと普通に格納できるのに…

VBEとかいう糞エディタ

  • おい, そこがシンタックスエラーだってことは百も承知なんだよ!!
  • 無駄にポップアップを出して作業を邪魔するのはマジでNG
  • 申し訳程度の入力補助
  • Tabでインデントしたのになぜバックスペースで半角1文字分しか戻らないんや…

Dim…?

  • 変数定義でDim hoge As Hogehoge
  • コードが長くなって読みづらいんだよ…
  • ブロックが{}で囲まれてないからそこも見づらい…

例外処理が気持ち悪い

  • On Error Goto hogeで例外処理
  • Goto文アレルギー発症
  • GO is not GOD
  • try 〜 catchなんて最初からなかったんや(涙目)

戻り値の有無は明示しなきゃあかんのね…

  • Sub, Functionで分ける…型指定しなくても変数定義できるのに…そこはきっちりなさるのね
  • Functionの戻り値はreturnで返すんじゃなくてメソッド名 = 値 にするのかよ…
  • Call無しでSubを呼び出すとfoo(bar)みたいな感じじゃなくてfoo barみたいな感じで呼び出せちゃうのね
  • それのせいで他の人が書いたコードを見て一瞬メソッドだってわからなかったり…

その他

  • Camel記法かPascal記法が好きなんや!
  • 申し訳ないがアンダーバー区切りはNG

ああ…明日もまたVBAとの戦いが始まる…