学問に王道なしという言葉もあるが、王道のある学問もある。過去には世紀の大発見であったことが、今ではそれをベースに新たなる境地を切り開くことで科学技術、ひいては文明も発達しているので、「王道」の部分はあると考えてよいだろう。

さて、VBAを学ぶに当ってはどうか?
変数の定義とか、基礎的なところの理解に王道はないだろう。しかし、ある程度の力が付けば王道はある。例えば「いい写真を撮るには良い作品をたくさん見ること」と学んだことがあるが、それと同様で、良いサンプルを参考にすることである。
しかし、コードの善し悪しが分からないうちは「安全なVBAをとりあえずステップ実行で試してみる」ことをお勧めする。

どういう動きをするのか、ははあなるほど!と思うこともあれば、ここはちょっと・・と思うこともあるだろう。また、何だこれは?ということもある。自分の知識と対比して、不足している部分は取り入れてゆけば見識は広がる。
なお、VBAのコードで読みやすいモノは少ないので、「どうすれば読みやすく保守しやすくなるだろう?」という観点は忘れないようにしていただきたいと願う。
@IT編集部様 株式会社デジタルアドバンテージ様の主催される、第8回 VB研公開ゼミ 次世代業務アプリはどうなる?に参加しました。
https://itmedia.smartseminar.jp/public/seminar/view/57

会場の地図

大きな地図で見る


ユーザーインターフェース、ユーザーエクスペリエンスについての話で、ユーザーインターフェースをもっと使いやすくしたモノがユーザーエクスペリエンス、という概念であり、必ずしもリッチクライアントを用いる事ではない。とのこと。
とはいうものの .net Framework 3.0 以降では表現力が多彩になっている。表示上は文字だけより図形、画像、動画、グラフなどを用いた方が確かに分かりやすい傾向はある。そこでWPF(Windoes Presentation Foundation)とSilverLightの話であった。

SilverLightはWPFのサブセット的なモノで、新しいモノではないこと。ただし、SilverLightはセキュリティホールを減らすため、サーバー上のファイルのみ、もしサーバーで実行してもCドライブにはアクセスにできないようにしてるとのこと。
また、SilverLightはVBができれば結構修得は早いとのこと。

ただし!WPF自体は処理系ではなく表現系なので、画面と処理を分ける必要がある。これはこのブログでもMVCを説いたりしているので、その方向性は間違っていなかった、ということだ。

そのプログラミングが難しいか、というとずいぶんと易しくなっているらしく、試してみたいと思うものの、家のVisual Studio 2005ではメニューがないので、2008以降なのだろう(.net Framework の対応状況をみてもそりゃそうなのだが)。
とはいえ、得るモノが多かったセミナーである。


最後に懇親会があり、数名の方と交流を深めることができた。

主催者様に感謝の意を申し上げたい。

追記(2009.01.26)
当日の内容
http://www.atmarkit.co.jp/fdotnet/vblab/opensemi_08/opensemi_08_01.html

PMBOK 第3版(日本語) 70ページ。

立ち上げ、終結を除くと、計画/実行/監視・コントロールは PDCAサイクルに当てはまる。監視・コントロールでCAであり、プロセスは必ずしもCとAとが厳密には分かれていない。


注目してい頂きたいのは

1.計画の数が最も多いこと。
2.計画と監視・コントロールはどの知識エリアにも必ず存在すること。
3.実行はあるものとないものがあること。

の3点である。

1.は、「プロジェクトは計画ありき」を裏付けている。多くのステークホルダーで意識を共有するには、具体的な計画がなければ行いにくい。計画が大切なのはプロジェクトに限った話ではなく、仕事なら全般的にそういえる。

2.は、計画通りであるか、それに対して何らかなの手だてを打つ必要性があることを示している。計画時点では分からなかったことがプロジェクトを進めていくと具体化され(段階的詳細化)たり、不測の事態が発生したりする。それに対応していかなければ実態とはどんどん乖離してしまうだろう。

3.は、知識エリアのプロセスの特徴を表している。計画を立てて監視・コントロールをするのか、プロジェクトの実行を伴うのか。この特徴は各知識エリアの性格を理解する際に役立つだろう。


※段階的詳細化 390ページ