生涯エンジニアの備忘録

アクセスカウンタ

zoom RSS エクセルVBAとアクセスDBの使い方(10) ーVBの基礎ー

<<   作成日時 : 2017/02/19 15:35   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

VBAを紹介していると、VBAのもととなったVBを教えてほしいという人もいる。
私が初めてVBを知ったのは、会社員時代で、1990年代だった。そのころはPC98からIBMPC互換機に移りつつある激動の時代だった。インターネットも1995年ごろから一般化していき、IT関連株がぐんぐんと上昇していき、ITバブルがまさに最高潮に達した時期でもあった。このごろ独立して、IT企業を創業した人も多いと思う。いまでは何でもない仕事、例えばWebページ作成だけでも立派なビジネスになった時代である。日本IBMがホームページビルダーを発売し、ホームページの作成に大いに利用され、その材料作成のため、デジタルカメラが普及していく。画素数もVGA(640x480)の30万画素程度から、100万画素、200万画素とどんどん増えていった楽しい時代だった。
画面単位でソフトを作る技法は、キャラクターベースインターフェース(CUI)でもすでにあったが、私にとって、VisualBasicとの出会いは、過去のVisiCalcと同等、それ以上の驚きだった。素直にその将来性に魅了され、感動した。
VBは、もともとWindowsが持っていた素材を元に構成されている。Windwosで使われている部品の多くは、由来は、パロアルトのParc研究所で開発されたAltoからきているのだが、最初に商業ベースにのせたのは、AppleのSteveJobsであり、Macintoshとして有名になった。X86マシンとしてのWindoes部品開発は関しては、そこで多くの基礎的な投資はIBMが行い、IBMのOS/2開発のおかげで実現されたと思っている。OS/2とWIndwosの二股開発をしていたマイクロソフトが最終的に漁夫の利を得るのだが、当時は、IBMが絶対的な市場支配者であり、マイクロソフトがその後の市場支配者になるとはだれも予想していなかった。ただ、日本では、アスキーが、Altoの情報や、アランケイの紹介をしていて、マウスも早くから販売していた。MSDOSマシンでもマウスが使えるようになったのは、アスキーの功労だと思っている。
Altoが開発されたのは、1973年だから、それから20年たって、やっと一般人でも手の届く技術になってきた。
VBが既存の開発用ソフトと違うのは、まずは、最終形である画面から設計が始められる点である。同じ製品をCやほかの言語で組むと、ものすごく頂戴なソースコードになってしまう。ひとつのコントロールを実現するだけでも、単純なコマンドを繰り返し使って作っていくことになり、全体の見通しもはなはだ悪い。
こういう面倒くさいことをコントロールという部品をツールボックスからドラッグ&ペーストするだけで、作成できていく。見る間に、UIの画面ができていく。動作はそのあとで考えればいい。発注者との打ち合わせでも、まず画面の見た目から話せるので、打ち合わせの効率がすこぶるよくなる。開発には手戻しが必須で、いったんある程度完成しても発注者からの要請で簡単にひっくり返る。たいていUIで起こるので、そのUIを最初に提示できるVBは最強だった。
もちろん速度は純粋なCでのプログラムに比べると、10倍から20倍遅くなるといわれ、はやくコンパイラが出てほしいと思ったものだ。それがVB5の登場で、一気に解消され、結構非力なIBMPC互換機でも実用的な速度で実行できたのには、感動した。しかし、結構な値段がしていて、10万円も出して買えたのは、ビジネスで使っていた人ぐらいで、個人ユーザーは安い製品で我慢していた。そのころ私が愛用していたのは、仕事では、VBだったが、個人的にはPascalだった。特にTurboPascalは強力で、PC98では、駄作をいっぱい作ったものだ。
VBは単体で売られることはなく、VisualStudioというC/++やC#などのほかの言語製品とパックされて販売されている。VB6は最後は、サポートが打ち切られてあと、無料でダウンロードできた時があった。
秋月の電子基板は、たいていVB6を操作インタフェースに使っていて、自分で改造できたので、非常にありがたかった。

VBとほかの開発言語(例えばC)との違いを上げると、Cがテキストベースでソースコードを組んでいくのに対し、VBではコード画面とオブジェクト画面とが用意され、まずはオブジェクトから開発ができることである。オブジェクト指向とか言われていたが、直線的にプログラム動作を書き出していくCに比べ、VBはイベントドリブン方式と呼ばれ、マウスが押されたとか、タイマ割り込みがあったとか、シリアルから入力があったとか、イベントが動作の起点になっていくことが、おおきな違いで、Cに慣れた人は、プログラムの流れが追えず、戸惑ったものだった。
フォームと呼ばれる四角い画面の上にいろいろな部品を配置して、各部品をクリックして、その部品上で起こったイベントごとに動作を書いていく。だから部品さえ決めれば、概略の機能は決まってしまう。

難しい話はおいといて、実際の開発画面をみてみよう。VoisualStudioをインストールして、VBを起動すると下のような画面が現れる。

画像


左上に表示されているForm1.vb[デザイン]にキャンバスとなるフォームForm1がある。この上に左のツールボックスからコントロール部品を持ってくる。ツールボックスはデフォルトはフローティングといって、クリックすると右にするすると出てくるが、上のドッキングボタンをクリックすると、固定表示になる。
画像


ずっと説明してきたエクセルVBAと同様なコントロールがたくさんある。よく使ったラベルとボタンを置いてみる。
画像

ラベルのテキストに”テキストの表示”を、ボタンのテキストに”表示”を指定する。

ここで、ボタンをダブルクリックすると、つぎのようなコード画面があらわれる。
画像


ここでつぎのようなプログラムを追加します。最後に開始ボタンをクリックします。
画像


すると、下の画面が現れます。テキストボックスに”NSL"と入れて、表示ボタンをクリックします。
画像


そうするとメッセージ画面が出ます。
画像


テキストボックスに書き込んだ内容がメッセージ画面に表示できる例です。
こうやってみると、VBもVBAもそうかわらないことがわかるでしょう。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
エクセルVBAとアクセスDBの使い方(10) ーVBの基礎ー 生涯エンジニアの備忘録/BIGLOBEウェブリブログ
文字サイズ:       閉じる