まえがき
朝、目が覚めると、元エクストリームVBA-er であらせられる@igeta氏が
ウワアァァ!! https://t.co/TQQwEfuqN5
— いげ太 (@igeta) 2015, 3月 9
とんでもないものをTwitterのタイムラインに投下されていました。1990年代前半から時が止まってしまったかのようなVBAの開発環境 VBE(Visual Basic Editor)に、現代の統合開発環境(IDE)並の機能を追加するクレイジーなアドインが登場したようです。
現代に舞い降りたまさに狂気の権化、その名もRubberduck。
さあ、キミたち、ラバーダックのレポを書くんだ!
— いげ太 (@igeta) 2015, 3月 10
とのことなので、簡単にレポートを書いてみたいと思います。レポート
インストールは至極単純です。RubberduckのgithubリポジトリのRelaseページにインストーラが配布されているのでダウンロードして実行しましょう。なお、公式にうたわれている動作環境は
- Windows Vista以降 (開発環境はWin7 and Win8.1)
- .Net Framework 4.5必須
- Microsoft Office 97以上
が、手元の環境(Windows8.1 + Office2013(64bit))では、RubberduckをインストールしてもアドインがVBEから認識されませんでした。
ということで、以下では、公式サイトの解説からの引用でお茶を濁したいと思います。
Rubberduckの機能
正常にインストールされれば、以下のような機能が追加されるようです。
昨今のIDEでは当たり前の機能ですが、今までVBEにはなかっただけに、どれも便利に使えそうです。正常にインストールされれば。(大事なことなので2回言います)
![]() |
コードインスペクション 別途設定したコーディング規約に反する箇所を一覧表示 コーディング規約の設定方法は、公式Wikiをどうぞ |
![]() |
テストエクスプローラ テストしたいモジュール、メソッドの行頭に"'@TestModule"や"'@TestMethod"と記載することで、 モジュール、メソッドのテストを一括実行、結果を一覧表示 |
![]() |
リファクタリング機能 メソッドへの括りだしや、変数などのリネームを支援 |
1990年代の遺物であるVBEが、2000年代の産業廃棄物並に進化する感じでしょうか。
節々にVBA/VBEの限界を感じさせられるような仕様が散見されるものの、とても良いですね!
開発者の方々の血の滲む(に違いない)努力には、脱帽です。
開発は恐ろしいほど急ピッチで進められており、次のバージョンではGithubとの連携機能もつくようです。色々ヤバイ。
誰かインストールを頼む
現エクストリームVBA-er(推定)の@thom氏もこう言っています。
Rubberduckが動かない報告を受けて、
Rubberduckが動かない報告を受けて、
私もです。office2013, win7 home.
— thom (@thom__jp) 2015, 3月 10
ほんと、誰かこれ、動かしてください。(.NET Frameworkを使っているので大丈夫とは思うのですが、もしかすると64bit環境がだめなのかも?)
余談
どうにも動かないので、ソースコードに添付のレジストリを登録してみたところ、VBEがメモリエラーで起動しなくなり、オプションのアドイン画面を開くとWindowsが固まる事態になりました。
原因を調べたところ、添付のレジストリ情報に、Rubberduck開発者の環境に依存したパスが含まれていたためでした。
手動でレジストリを掃除しなおしたところ元に戻ったのですが、かなり焦りますので、良い子は真似をされませんように。