ITスペシャリストが語る芸術

-The Kay Notes-
SE、プログラマー、AI開発者、教育研究家、潜在意識活用研究者、引きこもり支援講師Kayのブログ。

VBA

当ブログは、第一期ライブドア奨学生ブログです。
◇お知らせ
[2019/12/28]AI&教育問題専用ブログ、メディアの風を公開しました。
[2017/03/01]「通りすがり」「名無し」「読者」「A」等のハンドル名のコメントは原則削除します。

偽物の冴えた生き方

モグリの医者というものについて聞いたことがあるかもしれない。
この「モグリ」とは、「法を犯し、また許可を受けないで、仕事・商売などを行うこと。また、その人。」という意味だ。
ただ、モグリの医者など、小説等、フィクションの中にだけいるものと思っている人がいると思う。
しかし、希に、実際にモグリがバレて逮捕された医者らしき者の報道があるし、実のところ、私は、結構な身分の医者だが、「あの人、モグリだよ」と教えてもらったことがある。そう言った人は、別に、そのモグリという医者と敵対している人ではなく、その全く逆で、私にそんな嘘をついても、何の得もしない人だった。
モグリの医者と言っても、元々は本物の医者で、何か法を犯すことをして医師免許を剥奪されたという場合がほとんどと思う。
だから、モグリとはいえ、医療行為は能力的には可能で、腕が良い場合もある。私が知っていたモグリらしき医者がまさにそうだった。

ところが、医学教育など全く受けていないモグリの医者の実話があり、そのモグリの医者はアメリカ海軍の軍医を務め、手術も行ったが、医者としての評判は良かったらしい。
ある意味、大したものである。
けれども、大昔だろうが、法が医者を認定しなかった時代・・・早い話が、医者なんていなかった時代があり、ひょっとしたら、今でも未開の地域で、そんな所もあるかもしれない。
しかし、正式な医者というものが存在しなかった時代でも、民間療法というものがあり、民族の長い経験の中で、病気を治すノウハウが蓄えられていたものだった。そして、そんな状況下で、病気を治すのが上手い人がいて、そんな人が医者のように扱われたのだと思う。
そのような医者は、腕が全てであるし、誰に認定されたわけでもないことから、かえって自主的に調べ、考え、経験に学び、結果、良い医者になることもあったのだと思う。
また、現代でも、モグリの医者であるからこそ、それがバレないために、懸命に勉強したり腕を磨いたりで、上で述べた海軍の軍医のように、良い医者もいるかもしれない。

西尾維新氏の小説である、『化物語』から始まる「物語シリーズ」の中で、クセはあるが普通の人間を超越した、スーパーな3人の中年男女が、同じ大学に在籍していた時、「本物と偽物はどちらが上か?」という議論をしたという話がある。1人は「本物」、1人は「どちらとも言えない」で、最後の1人は「圧倒的に偽物」と答えた。
私も、全部がそうとは言えないが、本物に負けてはいけない理由を執念めいて持っている偽物が本物を圧倒することもあるのだと思う。
武道家でも、本物は師の教えが多くを占め、それに自分で工夫したものを付け加えるのだと思うが、偽物は、本来、師が教えてくれるような根本がない弱点はあるものの、良いものを貪欲に取り入れているうちに、案外、本物の武道家を超えることもあったと思う。

私も、システムエンジニアとしてはモグリの部類だ。
大学の専門の学部や、専門の学校で学んだことはないし、企業の研修を受けたこともない。
勉強しながら、勤めていた会社で実験と実践を同時にやったのだが、そんな人は、特に昔は結構多かったと思う。
私は、そこから、まずはベンチャーの開発会社に入り、そして、大手企業のシステム開発部門に入るという経緯で、あたかも情報科学の学位でもあるような顔で、大手を含む企業で講義や技術指導もしたし、アメリカの超一流大学で講師を務める話もあったくらいで、モグリの気分を満喫していた(笑)。
まあ、コンピューターの仕事に免許はないし、大学の先生にも免許はないので、全く何の問題もないのだが。
だから、私が本当にモグリであったわけではないが、本物と、モグリの偽物との間の利点欠点も分かるように思う。
まず、やはり、モグリは、より緊張感がある場合が多く、切羽詰まった真剣さのために、覚えが速く、また、上手くなることも多いのではないかと思う。
欠点としては、基本がないことだろう。その意味で、歴史や伝統がある分野では、蓄積された基本的ノウハウを効率的に学べる本物と張り合うのは、かなり厳しい場合もある。ただし、伝統に縛られない自由な発想が出来ることが良い場合もある。

法を犯すモグリは良くないが、モグリっぽい偽物として挑戦するのは面白いことが多い。
特に、プログラミング分野は、プロと同じツールが、ほとんどタダで使える良い時代で、本物も偽物もない。
特に、ExcelやAccessのVBAであれば、あなたも今日からモグリ・・・ではないが(笑)、偽物プログラマーになれる。
そして、偽物プログラマーは苦労も多いが楽しいものであると思う。








VBAはコスパが最高

必ずしもエンジニアになりたいわけではないが、コンピュータープログラミングをしたい。
そして、それは、単なる趣味ではなく、実益を得たい。
それであれば、私が勧めるものは、Excel VBA一択である。
なぜかというと、Excdel VBAは十分、本格的で、中程度レベルのプログラミングは全て出来る上、Excelの素晴らしい機能を自在に使えるからだ。
一般の人なら、プログラミングは中程度レベルが出来れば十分で、はっきり言って、職業プログラマーでも、中程度までちゃんとプログラミングが出来る人は多くない。よって、Excel VBAがしっかり出来れば、日本に限れば、職業プログラマの半分は抜ける。
そして、Excelの、長年に渡って世界中で使われることで徹底的に磨き抜かれた機能は、他のプログラミング言語で実現しようと思ったら、出来るとしても、複雑になってしまうが、Excel VBAなら、シンプルに出来てしまう。
そういえば、プログラミングに「オブジェクト指向」という、何だか専門っぽくて格好良い(笑)言葉があるだろう。
しかし、それが何か、本当に分かっている人は、職業プログラマでも、あまりいない。
だが、Excelの機能をVBAで使うことは、それだけでオブジェクト指向プログラミングなのである。
つまり、VBAプログラミングの中で、Excelの機能を封じ込めたオブジェクト(実に沢山ある)を使えば(簡単に使える)、もうオブジェクト指向でプログラミングしているのである。

「VBAはプロが使うものじゃない」と言う人がいるようだ。
嘘である。私が使っているし、VBAを好んで使うプロもいる。
能力が高いプロが使えば、JavaもVBAも優れた処理を行うソフトウェアを構成させることが出来る。
プロが好んでVBAを使う場合には、それが、ユーザーに最大の利益を与えるからであることが多い。他のプログラミング言語では望めないことが沢山あるのだ。
例えば、ユーザーが慣れたExcel上で、高度なデータ処理プログラムを使えるメリットは実に大きい。
私は、ユーザーのシステムを見て、JavaではなくVBAを使っていれば、ユーザーの利益は十倍だったのにと思うことは多い(その逆も確かにあるが)。

そして、エンジニアでない人がVBA以外を使っても、ほぼ利益はない。
HTMLすら、ほとんどの場合、素人が使っても、ロクなものは作れないが、VBAなら、素晴らしい利益が得られることも多い。

だから、特にITエンジニアになりたいというわけではない人には、迷うことなくVBAをお勧めする。
また、コンサルティングや業務分析、業務企画等の能力と組み合わせれば、プロで通用する。
VBAは古い?
確かに最新ではない。しかし、それで何か困ることは、まずない。むしろ、最新のプログラミング言語の奇妙な特性で困ることの方が多い気がする。
それに、COBOLやFortran等に比べればはるかに新しいが、COBOLやFortranだって、現在も実用に何の問題もない。

このようなわけで、私は、普通は、Excel + VBAを勧めるが、Acccess + VBAはさらに良いと思うのだ。
データ処理の規模や適応性が飛躍的に上がるからだ。
Accessのデータベース機能だけでも、Excelの数十倍の能力があると思うが、Accessと、マイクロソフトの大規模データベースシステムであるSQL Serverの相性は良く、簡単にくっつけて使えるが、それであれば、大きな規模のシステムも、Accessで出来てしまう。
しかも、無償のSQL ServerであるExpress版でも、相当なことが出来てしまうのである。
私は、ある企業の、年商30憶円規模の部門の主要システム(ネットワークシステム)をSQL Server Expressに入れたことがあるが、余裕で入ってしまった。
また、AIの機械学習のデータを作るのに、Accessほど効率の良いツールはないと思うし、個人的な考え方では、Accessは使いこなしさえすれば、BIツールとしても最強であると思う。
ただ、Accessを効果的に使うには、データベースに関する理解とセンスが必要になるので、少しは勉強しなければならないが、そのメリットは大きいだろう。

ExcelやAccessの機能から考え、値段の安さは奇跡的だ。
共に、2万円以下で永久ライセンスが買える。
恐ろしい(笑)。ライバルは絶対に現れない。真似が出来るはずがない。
Accessなら、100万円(あるいは、月10万円)でもおかしくはないと思う。実行版(いわゆるランタイム)は無料なのだから、もっと高く見積もっても良いと思う。
実際、Accessのランタイムを100台以上のPCにインストールして使っている中規模の会社を知っているが、もし1台のランタイムが年5万円なら、毎年500万円以上必要だが、これが無料なのだ。

ご参考に。








頭を良くする簡単な方法

天は人の上に人を作らずと言うが、現実的には、人間の能力には差があり、その中でも重要な頭の良さにも明確な差がある。
これもまた、現実の話として、公立の中学では、頭の良さが極端に違う者同士が、同じ教室、あるいは、隣の席にいたりする。
ただ、中学校では、頭が特に良い者にとっても、頭が悪い者が邪魔になることはあまりなく、その頭の良い者がよほど性格の悪い人間でない限り、頭が悪くて何ごとも上手く出来なくて困っている者がいたら、助けることが多いと思う。
高校や大学以上では、それほど極端に頭の良さに差がある者と関わることは少ないと思う。
だが、社会人になると、超大企業の場合は少ないかもしれないが、頭の良さがかなり異なる者が、同じ部署、あるいは、他の部署や取引先の関わり合う人間にいたりする。
そして、頭の良い者にとっては、頭の悪い者に足を引っ張られたりするうちに、頭が悪い者に嫌悪感を持つようになることがある。
ここらが、頭が悪い者がいても、利害関係があまりない中学の時と違うところだ。

自分のことは、とりあえず棚に上げるが、会社の中で、「こいつ本当に馬鹿だな」と思った人は確かに少なからずいる。
ただ、その者が本質的に・・・つまり、生まれつき頭が悪いのかというと、そんな場合もあるのかもしれないが、あまり多くないと思うのだ。
その理由は、「こいつ、頭が悪いな」とうんざりさせられるような者でも、何かの時に、妙に鋭かったり、物覚えが良かったりということがあって「あれっ」と驚くことがよくあったからだ。
「こいつ馬鹿だと思っていたけど、実は頭悪くないんじゃね?」
とか思うが、それでも、仕事で関わると、「アホにもほどがある」と思うのである。
だが、やはり、馬鹿に見えても、ほとんどの者は、本質ではかなり優秀なのだ。
それなのに、なぜ馬鹿なのかというと、家庭や学校で、頭を使えないように、あるいは、間違った頭の使い方をするように教育されているからとしか思えない。

有名な映画監督だった伊丹十三氏が、心理学者の岸田秀氏の本を読んだ時のこんな感想を語っていた。
「自分が、かぶせられた帽子を外されたカブトムシのように感じた」
つまり、自分の能力を封印していたものから解放されたということである。
まあ、誰もが、岸田氏の本を読んだらそうなるとは限らないが、我々は、学校やテレビなどで付けられた、能力の見えない手枷足枷を壊さなければならないことは確かだ。

その方法をクドクド説明せず、シンプルに言う。
1つは、仏・菩薩の真言を淡々となるべく多く唱える。例えば、観世音菩薩真言なら「オン、アロリキャ、ソワカ」だ。これを唱えると良い。有声、無声どちらでも良いが、無声をお勧めする。
1つは、少し温度が高い蒸しタオル(熱いと感じるほど温度が高くてもいけない。適度に絞った濡れタオルを1/6程度にたたみ、電子レンジで600W1分30秒加熱する)を、後頭部の下の方に5分当てる。
そして、プログラミングをやったことがなければ、Excel VBAか、Access VBAを練習して欲しい。マスターするごとに頭が良くなるから。
そうすれば、さらに良いことに、社員募集面接で「Exce VBA、滅茶苦茶出来ます」「Access VBA、滅茶苦茶出来ます」と言ったら、良い条件で採用されるだろう。頭が良くなっているので、仕事も出来るはずである。
尚、一応言っておくと、頭が良過ぎると、普通の職場では仕事がうまくいかず、辛いことになる可能性があるので、自分がそうだと思ったら、就職せず、個人事業をやることだ。








スペシャリストを目指せ

ある有名な歌手が、40歳を過ぎた時に行き詰まり、二進(にっち)も三進(さっち)もいかない状態で、歌手を止めて、別のことをしようと思ったらしい。
しかし、思いとどまり、歌手を続けた。
思いとどまった理由はこうだ。
「どこの世界でも、20年、30年とやっている人達がいて、新しく始めた自分が、そんな人達にかなうはずがない」
何かの道を長く続けている者なら分かることだと思う。
長く積み上げてきた経験に優るものはない。
そりゃ、自分がやってきたことがもう古く、その仕事が、遠くなく消えてなくなる運命である場合や、自分がやっている仕事が簡単な仕事で、短期間で十分なレベルになれる場合は別だ。

大きな会社では、新入社員は、自分がどの部署に回されるか、分からないという場合が多い。
学校を出たばかりの学生は、まだ真っ白なので、何に向いているかを会社が判断してあげようとか、いろいろな部署に入り、いろいろな仕事を経験することで幅広い人間にしようというのだろうが、もうとんでもない話である。
大学どころか、高校を卒業したら、自分が何に向いているかなど自分で分かるはずだし、そもそも、会社に人間の適正の判断は難しい(事実上、不可能)し、はなから、社員の適正を見極めるのではなく、会社にとって都合が良さそうな部署に配置させることがほとんどだ。
また、あちこちの部署を経験させるのは、あくまで、その会社のことをよく理解させるためであり、どこの会社でも通用するような実力をつけさせるためではない。会社の意図かどうかはともかく、結果として、その会社でしか使えない能力しか得られない。
そんな会社でうまく出世して部長になっても、リストラされたり、会社が倒産すると、転職の際、「あなたは何が出来ますか?」と尋ねられたら、「部長が出来ます」といったような笑うしかない答しか出来なくなる。部長は仕事の名称ではなく、「部長が出来る」を正確に言えば、「前の会社の部長が出来る」ということであり、別の会社では平社員の仕事も出来ないのである。
営業をやってたと言っても、営業のやり方は会社によって違う。
また、営業という仕事には専門性がない場合が多く、一般的には、営業の仕事には就かない方が良い(もちろん、特殊な専門性が生きる営業は別だが)。
経営者だって、高い専門性を持っている場合が圧倒的である。

長くやればやるほどスキルが上がり、20年30年とやれば、誰にも負けない確固としたものを持てる仕事を選ぶべきだろう。
ただし、日本では、学校から会社まで、庶民は代替可能なロボット人間として育てるので、専門性のある生き方をしようと思うと、学校や会社(あるいは社会)を否定しなくてはならない場合が多い。それが出来ない者が、「私は何に向いているのだろう?」とか「私が進むべき道は何だろう?」ということが分からず、特に何も出来ないサラリーマンになってしまうのである。
私の場合、初めから学校や社会を否定していたので、プログラマーになるのは簡単だった。
しかし、ソフト開発以外のことについてはあまり知らないし、そもそも、自分でやったことのないことを本当に知ることは出来ない。

プログラマーになるなら、30歳くらいまでなら、JavaやPHPといった最も仕事の多いプログラミング言語や、PythonやJavaScriptといった最も将来性があるプログラミング言語を何か1つ、少なくとも、入門書レベルなら完璧にしておけば、開発会社に入れてもらえるので、そこで経験を積めば大丈夫である。
30代後半以上であれば、Excelマクロ(VBAプログラミング)が出来れば、会社の仕事を、それで自動化させれば頭角を表せるし、Excelを使わない会社はないので、転職の際、「ExcelとExcelマクロ、滅茶苦茶出来ます」と言ったことで採用されたら(採用される可能性が高い)、良い状況になるだろう。
「うちはExcelは使わず、別のツールを使ってますが、それをやってくれますか?」
と言われたら、もう既にExcelで十分な経験がある場合を除き、止めた方が良いと思う。まずは、どこでも通用する知識が大切だからだ。
尚、Excelマクロではなく、Accessマクロ(Access+VBA)なら、SQL Serverと組み合わせれば、そこそこの会社なら基幹システムでも作れ、システムの拡張修正も早く出来る。
そこで、Accessマクロを作ることが出来るなら、開発会社に入るより、システムを社内開発する会社の開発部署に入る方が良いかもしれない。社内開発をAccessでやっている会社は合理性が高い場合が多い。
社内でシステムを開発出来るメリットは多く、アメリカでは、かなり多くの会社が、システムを自社開発しているのは、それに合理性があるからだ。社内SE(システムエンジニア)の能力は、他社でも十分に通用する。








Excelマクロ、Accessマクロで就職する

高学歴だったり、スキルがあったりするわけでもない人が、就職したい時に、どうすれば良いか少し述べてみたい。

企業が雇いたいのは、未経験なら、奴隷のように働いてくれる人で、まずは、そのような立場で採用されても良いと思う。
経験がないというのは子供と同じだということで、もし、10歳の子供を働き手として選ぶ時、まさか、「自分の意見をちゃんと言う」だの「新しいことを提案します」なんて、妄想勝ちな馬鹿な子を選ばないだろう。
健康で、絶対に遅刻せず、絶対文句を言わず、絶対逆らわず、言われたことを必死でやる子であることだけを求めると思う。
歳がいくつだろうと、経験がないなら同じことだ。
確かに、だからといって、あまりに無茶な要求をされたら、「出来ません」と言うなり、労働監督局に訴えるなり、辞めるなりすれば良いが、かなりの無茶は要求されて当たり前と思う。
明らかに道徳や倫理に反していれば(例えば、誰かを殴れと要求される等)、「出来ません」と言えば良いが、単に、「凄く面倒臭い」ことや「凄くシンドイ」ことは、やって当たり前なのである。
あるいは、道徳や倫理に反しないなら、「凄く恥ずかしいこと」をしなければならないことも当然ある。
例えば、「裸になって踊れ」なら「出来ません」で良いが、自分に関わりのないことでも、100件の顧客のところに行って、頭を下げて謝ることは、恥ずかしくて楽しいはずはないが、やれと言われたらやるしかないだろう。また、「裸になって踊れ」も、職場によっては「そんなの当たり前」かもしれない。例えば、お笑い芸人の事務所である。

ただ、いつまでも、そんなことをしたくないから、経験とスキルを得たいのである。
プログラマーになる場合はどうだろう?
SIer(エスアイアー)と呼ばれる(私は呼ばないが)ようなシステム開発会社に入るには、プログラミングやコンピューターが本当に好きな場合だけにした方が良い。
そして、本当にそんなことが好きなら、勝手に入ってスキルを上げるだろうから、私が何か言う必要は全くない。
そんな者なら、プログラミング言語の1つや2つは当然出来るはずだから、「俺、Java、無茶苦茶出来ます」と言えば、すぐ入れてくれるだろう。
あるいは、新しい分野に進みたいなら、「VBやPHPは仕事で長くやってきました。しかし、Pythonも、中級の書籍程度なら完全にマスターしています」と言えば、是非欲しいと思ってくれる会社も多いと思う。
大手に新卒で入る場合はいざ知らずだが、研修で勉強しようなどと思うのは論外だろう。

次は、それほど徹するわけではないが、ITの仕事をしたい場合である。
その場合、Excelマクロ(VBAプログラミング)の仕事を狙えばどうだろう?割と美味しい仕事と思う。
会社の事務員として、安定した仕事を持ちつつ、Excelマクロを作り、いずれは、専門のExcelマクロ社内開発要員になるのである。
何と言っても、世界中で、Excelを使わない会社はほぼない。「使わない」って会社は入らなくて良い。変な会社かもしれないから。
だから、入れる会社は多いし、たとえ、その会社でExcelマクロが使われていなくても、あなたが始めれば、すぐにリーダーになれる可能性がある。
そんなことを狙っての入社の方法だが、当然、Excelはかなり使えることと、Excelマクロの実用書程度は自力で完全にマスターすることだ。
そして、面接で、「俺、Excelはもちろん、Excelマクロ、無茶苦茶出来ます」と言えば(多少、ハッタリでも良い)、入れてくれる会社はいくらでもあるだろう。
この時、「私、Excelはもろチン、いえ、もちろん、Excelマクロ、無茶苦茶出来ます」と言ったら入れてくれない(笑。『僕は友達が少ない』に登場する美少女シスター、高山ケイトの真似)。
ただ、それで入れてくれるなら、未来はバラ色であるから、賭けてみても・・・やはり、やめておけと言いたい(笑)。
そして、こういったプログラマーになった場合、あるいは、これからなろうとする場合、Excelでなく、AccessとAccessマクロをマスターすれば、さらに有望である。
なぜなら、Accessをマクロまで使えば、少々の規模の企業でも、基幹システムだって作ることが出来るからだ。この場合は、データベースとして、Access自体のデータベースではなく、SQL Serverが必要だが、SQL Serverの無料バージョンをパソコンにインストールして勉強すれば良い。
私は、Accessの威力は散々味わった。
なぜAccessが良いかというと、Accessでの開発速度は、JavaやC#などを使うよりはるかに速いことによる。
会社の中では、「このコンピューター処理を早くやりたいが、開発会社にJavaやC#で作ってもらうと、時間がかかってしまうし、費用も高い」という物件が沢山ある。特に、儲かっている、優良な会社の場合は絶対そうだ。
そんな時、Accessで、その要求に応えれば、嫌でもモテモテのシステムエンジニア・プログラマーになれるのである。
また、開発会社に作らせると、ちょっとしたシステムの修正や追加でも、かなりお金を取られ、時間もかかる。それに面倒だ。
だが、社内の開発者がAccessでやる場合は、すぐに対応することが可能で安心だし、ある意味、タダである。
「俺、Excelマクロ、無茶苦茶出来ます」「俺、Accessマクロ、無茶苦茶出来ます」と言って就職しようではないか。








プロフィール
名前:Kay(ケイ)
・SE、プログラマー
・初音ミクさんのファン
◆AI&教育blog:メディアの風
◆著書『楽しいAI体験から始める機械学習』(技術評論社)


当ブログは第1期ライブドア奨学生ブログです。
Kay Twitter Home

執筆のご依頼




最新コメント
<%==comments[n].author%>
<% } %>


月別アーカイブ
記事検索
ブログバナー&Mail


メールはこちらへ

PV since 2010/09/08
  • 今日:
  • 昨日:
  • 累計:

人気ランキング参加中
にほんブログ村 哲学・思想ブログ 人生・成功哲学へ
にほんブログ村 メンタルヘルスブログ ひきこもりへ


<% for ( var i = 0; i < 7; i++ ) { %> <% } %>
<%= wdays[i] %>
<% for ( var i = 0; i < cal.length; i++ ) { %> <% for ( var j = 0; j < cal[i].length; j++) { %> <% } %> <% } %>
0) { %> id="calendar-685115-day-<%= cal[i][j]%>"<% } %>><%= cal[i][j] %>
タグクラウド
QRコード
QRコード

'); label.html('\ ライブドアブログでは広告のパーソナライズや効果測定のためクッキー(cookie)を使用しています。
\ このバナーを閉じるか閲覧を継続することでクッキーの使用を承認いただいたものとさせていただきます。
\ また、お客様は当社パートナー企業における所定の手続きにより、クッキーの使用を管理することもできます。
\ 詳細はライブドア利用規約をご確認ください。\ '); banner.append(label); var closeButton = $('