Office関連

「Excel VBAの神様 ボクの人生を変えてくれた人」(大村あつし著)レビュー

※ 下記レビューはあくまでも個人的な感想です。

2015年9月29日発売の「Excel VBAの神様 ボクの人生を変えてくれた人」(秀和システム出版)をさっそく購入してきました。

作者はOffice(VBA)界隈では知らない人はいないであろう、大村あつし氏です。

VBAエキスパートの受験者アンケートにも出てくる、VBA学習に利用したサイト「moug モーグ」も、元々は氏が開設したサイトで、VBAを学んでいる人はどこかしらで氏が関わった書籍やWebサイトを見たことがあるのではないでしょうか。

概要

本書は一般的な解説書とは大きく異なり、ストーリー仕立てで“小説とExcel VBAを融合させた本”となっていて、営業部に配属になった江藤真二が思うように成果を上げられず、同期との差が開くばかりで思い悩む中、偶然出会った謎のホームレス、白百合龍馬からVBAを教わることで、上司から命じられた業務改善を図っていく、というような内容になっています。

目次や本書内で使われているサンプルコードが下記Webページからダウンロードできるので、気になる方はまず下記ページを見てみることをお薦めします。

・Excel VBAの神様 ボクの人生を変えてくれた人
http://www.shuwasystem.co.jp/products/7980html/4458.html

今なら下記Webページから一章分を無料で読むこともできます。

・『Excel VBAの神様』予約と第一章の無料公開、開始
http://www.diamondblog.jp/official/omura/2015/09/12/%E3%80%8Eexcel-vba%E3%81%AE%E7%A5%9E%E6%A7%98%E3%80%8F%E3%81%AE%E4%BA%88%E7%B4%84%E3%81%8C%E5%A7%8B%E3%81%BE%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82/

感想

1.コードが読みづらい。

本書を読んで私がまず思ったことは、

“日本語の縦書き文書とプログラムコードは相性が悪い”

ということです。
先述の通り、本書はVBAの解説をしつつも中身は小説です。
そのため、文書は縦書き構成になっているのですが、マクロの解説部分ももちろん含まれているので、文中に下図のような形で出てきます。

VBA_Kamisama_01

縦書き横書き半角全角が混ざっており、さらにルビまで振られていることによって、読んでいても『め・っせぇー・じ・ぼっくす』のような感じで、スラッと頭の中に入ってきませんでした。
ただ、これは私がある程度VBAを知っている状態で本書を読んでいるからで、まったくVBAに振れたことが無い人であれば、また違った感想を抱くかもしれません。

2.本書は“挑戦的”である。

上で書いた通り、本書を読んで私はコード部分が読みづらく感じたのですが、可読性を上げるのであれば最初から横書きにしておけば良い話です。

これを敢えて縦書きにしたのは、本書が単なるVBAの解説書ではなく、ビジネス系自己啓発小説としての側面も持っているからでしょう。

Amazonの著者紹介にも

元来のExcel VBA好きのために、小説とExcel VBAを融合させた本書『ExcelVBAの神様』の着想を得る

とあります。
このような形のVBA解説書は他に見たことが無く(私が読んだことが無いだけですが…)、まさに挑戦的な本だと思います。

そしてもう一つ、VBAに限らず、何らかのプログラム言語やアプリケーションの解説書というものは、一般的には図やスクリーンショットが多く載っていて、むしろ“キャプチャー載せてナンボ”といった感じですが、本書は図もスクリーンショットもそれほど多く載っていません。最低限必要の部分だけが記載されています。

これもまた本書が小説であるが故のことでしょうが、「解説書で図無しとは、これまたチャレンジャーだなー」というのが私の素直な感想です。

3.VBAの教え方の参考になる。

本書は、謎のホームレス『白百合龍馬』が主人公『江藤真二』にVBAを教える形で話が進んでいきます。
この白百合龍馬の教え方は、VBA初心者の方というより、むしろ“人にVBAを教える立場の人の参考になる”のではないかと思います。
たとえばVBEについて教える場面で龍馬は、

「VBEの機能なんて一割も知ってれば十分だよ。残りの機能は、まず使わない。使わないものを覚えていても意味が無い」

第4章 真二、メッセージを表示して感動する p.67 より

と断言しています。
また、MsgBoxの括弧の説明でも、

「このように、MsgBoxは、表示したい文字列を『”』(ダブルクォーテーション)で囲むんだが、これを次のように『()』で囲んでしまう人がいる」

「これは、間違いなんですか?」

「ああ、大間違いだ」

「じゃあ、『()』で囲んだらマクロが動かないんじゃ?」

「それが動いちゃうんだよ。だからこそ、間違いに気付かない。それが恐ろしいところさ」

「…………」

「なぜ間違えているかは、今のお前に説明してもわからない。だけど、これは絶対にやってはいけないミスだ。言うなれば、サイドブレーキを引いたままアクセルを踏み込んで、車が動いているからいい、と言ってるようなものだ。そんな運転をしたら、いつか必ず車は壊れる」

第4章 真二、メッセージを表示して感動する p.89 より

というように、“その段階で不必要なことは省いて最低限のこと”を龍馬は教えていきます。

このやり方やモノの例え方には『人にVBAを教えるためのヒント』が詰まっていると、私は感じました。

4.真二、理解力がヤバい。

本書を読んでいてふと思ったのが、主人公・真二の理解力がヤバいということです。
これは決して真二の理解力が低すぎてまったく話が進まない、ということではなく、むしろ逆に真二の理解力が高すぎるのではないかという話です。

たとえば、第6章で変数の説明が出てくるのですが、変数の例えとして『電話番号を紙にメモして、紙を見ながら電話を掛ける動作』をマクロとした場合、“電話番号というデータを保管する紙”を変数としているのですが、真二は直後、

「要するに、マクロを実行しているときに、データを一時的に保管しておく箱のようなものですね」

第6章 真二、プロパティを覚えてドヤ顔になる p.121 より

と話しています。
箱、どこから出てきた!?プログラム初心者が変数の例え話を聞いていきなり箱をイメージするのか…!?

そして、最終的には龍馬から教わっていないはずのユーザーフォームやリストボックスを駆使したプログラムまで作成しています(ApplicationオブジェクトのEnableEventsプロパティまで使っています)。

これが俗にいう「主人公補正」というものでしょうか…。

とりあえず、彼の理解力は抜群である、これは間違いないと思います。

総評

ここまで、本書に対する個人的な感想をいろいろ書いてきましたが、まとめると、

“本書はVBA初学者というより、VBAを教える立場にある人が読んで、教え方の参考にするのに向いている本”

だと私は感じました。
VBA初学者に向いていない、という話ではなく、上述の通り私としては、コードの可読性の問題があるので、初めて学ぶ方は、まず横書きの書籍を参考にした方が理解しやすいだろうと思っています。

ただそれは、私が最初から本書をVBAの解説書として捉えて読み進めたために感じたことであって、本書を小説として読み進めていたのであれば、また違った感想を持ったことでしょう。

受け取り方がいくつもある、それが本書「Excel VBAの神様 ボクの人生を変えてくれた人」の大きな魅力だと言えます。

230ページほどのボリュームですが、読みやすい内容もあってサクサク読み進めることができます(私も行き帰りの通勤だけで読み終えることができました)。

紀伊國屋書店新宿本店のように本書が分かりやすい場所に積まれている書店もあるようなので(2015/10/2 時点)、興味がある方は是非手に取ってみてください。

そしてどうでも良いことへ…

昔の解説本といえば、フロッピーやCD-ROMが付属し、その中に本文中のコードが収録されていましたが、最近ではもっぱらサポートサイトからダウンロードです。

本書に記載されているコードも同様に、上で書いた書籍情報ページのリンクを辿っていけばファイル一式をダウンロードすることができます。

私は、このようなVBA解説書のサンプルファイルを手に入れたとき真っ先にやることがあります。

それは、

“ZIP解凍”

です。
みなさんご存知の通り、Office 2007以降標準のファイルフォーマットがOOXML形式になり、ZIP解凍すればファイルの中身をXMLファイルとして見ることができるようになりました。

このXMLファイルには、セルの値や書式設定外にも、作成者や作成された環境など、様々な情報が埋め込まれています。

VBA_Kamisama_02

VBA_Kamisama_03

これを見たからどうということも無いのですが、筆者の方の環境が分かることで、

「Excel 2013で作られてたのか!じゃあ、2010では動くのか?2016では??」

というように、いろいろ思うことも出てくるわけで…。

そんなわけで、本の感想に関係が無いどうでも良いことなんですが、サンプルファイルの中身を見てみると面白いよ、という話でした。

起動中のMicrosoft EdgeからタイトルとURLを取得するC#コード(DOM編)前のページ

Office 2016でACROBATタブが表示されない!?(Acrobat DC)次のページ

関連記事

  1. Office関連

    Microsoft Edgeを操作するVBAマクロ(DOM編)

    2021/10/1 追記:本記事は公開されてから大分時間が経ってお…

  2. Office関連

    「IEを自在に操る Excel VBAプログラミング入門」レビュー

    ※ 下記レビューはあくまでも個人的な感想です。2013年9月2…

  3. Office関連

    CDOを使ってGmail送信を行うVBAマクロ

    「VBA Gmail 送信」といったキーワード検索で、「Gmail A…

  4. Office関連

    Internet Explorer用OneNoteアドオンを利用して指定したWebページをOneNo…

    「Evernote Webクリッパーで指定したWebページをEvern…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP