匠達のセル道TOPへ
第6回
コロスケ編 インタビュー実施日:2002/10/11
まず、匠としてこの場に登場出来たことを皆さんに深く感謝するとともに、推薦して下さったケイン(関西連合元締)さんの名を汚さぬよう、今後(は)たゆまぬ努力を続けることをここに誓います!\(^_^
では、質問に答えさせて頂きますね。
1 初めてエクセルに触れた時期は?
え〜っと、初めてエクセルに触れたのは天魔さんと同じく2000年の3月頃。会社の業務でやむなく使う羽目になり訳もわからないまま触り始めました。
表計算ソフトなど使ったこともなく、コンピュータに本格的に触るのも10年以上ブランクがあったので、「へー、こんなに便利になってるんだ」という感想を持ったことを覚えています。それまで仕事ではワープロ専用機しか殆ど使っていませんでしたし、パソコンは家にありましたが嫁さんが仕事に使っていたので触る機会はあまりありませんでした。今となってはきっかけを与えてくれた会社に感謝しています。何事も触れてみることが大切ですね。
2 初めてVBAコードを書いた時期は?
そうですね〜、使い始めての1ヶ月程は会社の業務で単純な表の作成を繰り返していました。本当に住所録のように単に打ち込んでいくだけの単純な作業です。根っからの無精者なので、いつも同じ作業を繰り返すのが面倒になって来ました。そしてエクセルをいじっているとマクロの記録というメニューを見つけこれを使えば動作が記録されると言うことを偶然発見しました(笑)
自動生成でできあがったコードを見てみると何となく単語の意味から想像がついたのでHelpも見ることもなく(インストールしていませんでした)マクロの記録のみを使ってコードを作り、それを繋ぎ合わせて自分の作業軽減用のマクロを数本作っていました。
そうこうするうちに記録だけではできないことがやりたくなり、初めて重い腰を上げHelpを読みました。うーん、でもなんだかよくわかりません。そこHelpで理解できない疑問を解決する為にWEBのQAサイトを探し始めたのが、エクセルに触れた半年後ぐらいだったでしょうか?(初めてレスを下さったのがExcel
Factoryの主催者れいぞーさんでした。
そのころが初めてVBAらしいコードを書いた時期になります。社内用の見積作成ソフトでAS400サーバーと連携して動くものです。トランザクションの仕組みとVBAを一緒に覚える必要があったので出きるかなぁ?と不安でしたが、小学生の時CASIOのPB100というボケコンでコードを書いたり、NECのPC-6001にマイコンBASICマガジンという雑誌(自分で書いてて懐かしー!)からゲームのコードを打ち込んで遊んでいた為、BASICという言語自体にはあまり抵抗はなく、ブランクはありましたが比較的VBAにはすんなりと馴染めました。
3 VBAコードを書く時間を無理やり1日平均にすると?
うーん、VBAに限定すると2から3時間ぐらいでしょうか?そのうちの1/3はQAサイトの回答です。QAサイトの回答はすごく勉強になります。リファレンスブックやヘルプで裏付としての基本知識を備えることも大切ですが、それよりも1つの答えを出すのに色々な手法があるという事を学ぶ大切さを学ぶことが出来ます。
私の場合はあまり良いCPUを持っていないので実際のコーディングよりも考えている時間のほうが長いですね。QAサイトのレギュラー解答陣の方々の知識の深さには脱帽です。
私は算数が苦手なので思ってもみない冗長なコードになってしまい、再考に時間を取られることもザラにあります。また計画的に少しずつ作り上げるタイプでもないので思い立ったときは睡眠も殆どとらずに2〜3日画面に向かうこともあります。でも基本的に飽きっぽいので、一旦やる気がなくなると全然手が動きません。(笑)
4 思い入れのある作品とその理由は?
QAサイト絡みで作り始めたソフトですがHtmlMakerという作品です。
今年(2002年)の2月頃から、プログラミング用語の勉強のため(例えば[引数]って英語でなんて言うの?とか)に海外サイト(MrExcel.com,Office
Experts)での解答を本格的に始めたんですが、σ(^^)私はネイティブではありませんし、質問者は初心者のケースが多いので、こちらが意図しているエクセルのシートのレイアウトを質問者に正確に伝えたり、相手のWorkbookの状態を把握するのが困難なケースがありました。Rows
と Columnsの違いを逆にとらえている質問者にその違いを説明する為だけにスレッドが延びていったこともありました。(◎-◎;)
そこで数式を含めたシートのイメージを簡単にサイト上で表現できないかと思い作り始めたのがこの作品です。Webコンポーネント使えば簡単だなぁと思っていたのですが、QAサイトで使うことを考えると特定のバージョンに依存するのはよろしくないと思い基本的なHtmlとJavaScriptで作ることにしました。HtmlでWorksheetのイメージを再現したい。セルには数式の答えが入っていて、そのセルをクリックすると数式バーに数式が表示されれば便利なのになぁ〜。エクセルやOSのバージョンなんかも表示されればもっと良い。そして作りながらテスト投稿をしていくうちに、ありがたいことに沢山のエクセルユーザーから支持をうけました。
時を同じくして同様のアイディアを持っていたたNew
ZealandのIvan F Moala氏と共同制作する事になりました。掲示板に集まる世界中のエクセル仲間に英語版、スペイン語版、スウェーデン語版などなど、様々な言語バージョンのエクセルでテストをしてもらい開発を進めていきました。初めての共同制作でもあり難しいところもありましたがとても勉強になりました。
困ったのはこちらが思ってもみなかった機能追加要望が多くなかなか「完成!」と言えないことです。たとえば「回答者の国が今何時なのかわかるようにして欲しい」とか「英語版の数式を使うのか、ローカルの数式を使うのか選べるようにして欲しい」などなど.....があり今もまだ「完成」していません。(^^ゞ
思い入れのある作品というよりも、思い入れている作品ですね...。
エクセルを触っていたお陰で世界中に友人ができました。(^-^) VBAは世界共通言語ですね。
5 これからVBAを覚えようとういう方々へのアドバイスを!
アドバイスと言うほどではありまんが、私が言えることは一つだけです。
「楽しんで覚えること」
これが一番です。
たぶんこれを読んでいらっしゃる方は既にエクセルを使っている、もしくは興味がある方が殆どだと思います。「VBAを覚えよう!」そう思った日がスタートです。仕事で使うものでなければ、最初は難しい文法なんか気にする必要もありませんし、とにかく気軽に始めましょう。メッセージボックスを表示させるだけでも立派なプログラムです。まずは自分の書いたコードが動くことの楽しさを感じて下さい。
もっと楽しさを実感たい場合には色々調べる必要が出てくるかもしれません。巷には沢山の良書がありますし、VBAにはヘルプもついています(別途インストールが必要ですが)。そしてネット上には沢山のQAサイトもあります。私も未だに質問しないとわからないことが山ほどあり、エクセルはとことん楽しみがいのある奥が深いソフトだと実感しています。一緒に学んでいきましょう!
6 初心者時代の作品を「匠達のセル道」でアップさせていただけませんか?
今も初心者時代なのですが...(^^ゞ
VBAを始めて1年たった時に作ったExcelSnakeというゲームです。それまでは配列を使ったことがなく、そろそろ配列を覚えようと思い書いた作品です。
コードはプロテクトする程のものでもないので公開していますが、今見ると凄いですね...。はずかしいので見ないで下さいね。(^_^;
関係ありませんが、近田さん、セルベーダー、凄すぎです!! ぜひギャラクシアンも作って下さい。(笑)実は昔、私もセルをドットに見立ててゲームを作ろうと考えたことがあるのですが、敵の動きのルーチンをどう表現したら良いのかわからずに断念しました。(T_T) お待ちしてます!
7 VBA作成時こころがけていること、宣伝、直リン、何でも結構、最後に一言!
コードを覚えたての頃は1行でも短くしようと必死でした。今も無駄に長いコードを書くつもりはありませんが、後で自分が見たり、他の人が見たときに解りやすいコードを書くように心がけています。特にコード内のコメント。これは必須ですね。(自分のコードも半年も経つと意味不明になることが日常茶飯事の私自身への戒めも込めて...)
最後に...宣伝することも特にないので私のWeb Siteへのリンクを張らせて頂きます。(笑)
|