176話から191話まで続いていたPHPはどうなったのか?また,筆者が面倒くさくなって途中で投げ出したのか?あるいはいつも通り,高校2年のこうしろうが試験シーズンに入ったからか?今回はどちらでもない。154話で紹介したこうしろうのモバイルなPCが不調になったせいだ。

 こうしろうによると,インターネット接続中に「ブルースクリーンが頻発する」らしい。WindowsXPのSP2をあてた直後は,なんともなかったらしい。数ヶ月後に今のような現象が出たと言う。121wareでSP2対応のアップロードモジュールもダウンロードして適用したはずだ。WindowsXPの再インストールもしたと言う。当然,PHPの開発環境はきれいさっぱり消去された。「それでも,やっぱり調子悪いんだ」と,鼻をグスグスさせながらぼやく。PCの調子が悪くなると体調まで悪くなるらしい。「起こったことと処置をメモしておいてさ,読み返すといいよ」と私は,まるでその問題には深くかかわりたくありませんと言っているようなアドバイスを送る。そして,どうしようもなくなったら,そのメモをつけてメーカーに修理に出せばよいという44歳の父は,年相応の根気のなさ身に付けている。いや,本当にどうしようもないときも,たまにはある。

 ということで今回の登場人物は,こうしろうの弟かず。中学2年で陸上競技部に所属するかずは,自宅でも勉強はしなくても,筋トレはかかさない。腹筋や腕立ての単位が何回ではなくて,何十分なので,家では「お前は新日本プロレスか」と突っ込まれている。短距離だからだろうか,陸上競技に腕立てや腹筋がこんなに必要とは知らなかった。

 そんなかずが先日「技術の授業で,Excelをやった。関数も使った。」,「数学の先生は,BasicやC 言語でプログラミングをしたことがあるがいと」などと話をしていたので「ほう,興味は消えていないんだ」と思い,Excel VBAで何かおもしろいことができないかと考えていた。

 5月28日 モーグのメールマガジンにVBA協会のWebサイトからダウンロードできる「情報B対応VBAプログラム」というExcel VBAのサンプルプログラムのダウンロード数が,3,000件を突破したというお知らせが載っていたので,どんなものかとダウンロードしてみた。
 繰り返しや条件判断などの簡単なサンプルプログラムもあったが,かずは167話に書いたようにExcel VBAで月間カレンダーの作成を自動化した経験があるので,繰り返しや条件判断は大体わかっているだろうと,バブルソートのサンプルプログラムを「わかるか?」と見せてみた。こういうアルゴリズムの問題は,見慣れているとサッとわかるが,そうでないと,実際にプログラムのステップごとにデータがどう変化していくかをイメージしないと理解しにくい。

 このサンプルでは,Excelのシート上に解説とプログラムの主要部分のソースが書き込んであり,実際の処理の結果や過程もシート上に表示されるので処理内容が理解しやすい。

 5分,・・・,10分経ってかずは「うん」とこちらを向いた。「わかったか?」と聞くと「わかった」の後に「ようなわからんような」と続けた。

 VBAのコードを少しずつ実行させて,シート上の値の変化をチェックすれば,もっと明確に理解できるはずだと,デバックメニューからブレークポイントを設定し,ステップ実行する方法を説明した。

 最初に勉強するプログラミング言語というか,環境としてExcel VBAは良いなと思った。シンプルな2次元のシートに処理結果を書き出すことができるからだ。