VSTO と VBA

金曜日には新潟で Microsoft On ワークショップを開催しました。テーマは「Visual Studio 2005 開発」と「Web 開発」でしたが、打ち合わせの際に参加者の方のほとんどが Visual Basic 6.0 ユーザーだとお聞きしたのと、多少の延長もかまわないということでしたので、少しアレンジしてセミナーを構成しました。以前お伝えしたとおり、Visual Basic 6.0 開発者に向けた .NET Framework 訴求は、私の以前の活動の中心でもあり、いつにもまして力が入るところでもあります。

また、今回の参加者の方は、積極的に受講する意思をお持ちの方が多いようでした。そして、いつにも増して質問が多く、そのレベルが比較的高かったという印象がありました。たとえその場で答えられなくても(←答えるべきなんですが^_^;)、質疑応答でのコミュニケーションが多いというのは嬉しいものです。

その中で、ちょっと(私が)想定していなかったのが「VSTO で作成した Office アプリケーションの配布」に関するものでした。「VBA だったらドキュメントに埋め込まれますよね(→そのとおりで、VSTO を使う場合はアセンブリは別ファイルとなる)」とか「ClickOnce は対応していないんですか?(→現バージョンではしていない)」という話であれば想定の範囲内なのですが、今回の質問は「VBA のようにソースは公開しなくていいんですか?」というものでした。

VSTO .NET Framework をフル活用すればいろんなことができます、とは言うものの、実のところ VBA でも色々細かい処理に挑戦される方も少なくありません。1ピクセル=1セルで実装した VBA 製のパックマンを見たときは驚いたものです。しかし、たしかにドキュメントに埋め込まれた VBA は隠しようがありません。VSTO であれば、(VBA より配布は少し面倒ですが)アセンブリを添付することになり、ソースコードを見せる必要はありませんは不要です(メタ情報を使った逆アセンブルは別)。その方は「お客様にソースコードの改良点を示されるのが嫌」というお話でしたが(そういうご指摘は真摯に受け止めるほうがよいと思いますが:-))、知的財産にかかわる話なら、それも VSTO を使う理由になるかもしれない、と考えた次第です。

今回のワークショップでは、事後にも何人かの方と談話する時間もありましたし、なかなか充実したものでした。毎回、こうありたいものです :-)

※本エントリは、MSDNブログのアカウント削除にともない転載しました(2010/12/26)。