[PR]今日のニュースは
「Infoseek モバイル」


【HOME】 【INDEX】【第1回】【第2回】 

VBAの概念を知ろう編  第1回



1 VBAとは
  VBAの素でも、書いてみましたが、おおまかなことはわかってもらえたと思う?

  マクロとは、処理の手順を自動化させてしまうプログラムのことをいいます
  そして、エクセルで、そのプログラムを構築しているのが、
  VBAというプログラム言語なんです。
  
  つまり、逆にいえば、VBAという言語で記述されたプログラムで、
  マクロが動いている、ということなんですネ、
  
  そして、VBAとは、オフィスのために書かれた、プログラム言語のことで、
  VB(VisualBasic:Windows対応アプリケーションの開発のためのプログラム言語)の
  一部をエクセルで使用できるという代物ものなんです。

2 オブジェクト指向型プログラム
  オブジェクト(Object)という言葉は、VBAから離されません!!
  それほど、重要な言葉となっています。
  さて、それでは、オブジェクトとはなんなんでしょう!!
  
  英和辞典で調べますと、何々?
   事物、対象物、目的物なんぞと書いてある。
  VBAの本では「部品」という書き方もしてある。
  
  そういえば、エクセルや他のソフトでも、いろんなアイコンのボタンが
  整列して並んでいるよね!!これらも、オブジェクトとよんでいる。
  
  アプリケーション(Application)という言葉もよく出てくる。
  英訳では、適用、応用という意味なんだけど、
  VBAでは、プログラムで構成された ひとつのもの と小生は解釈している。
  (ちょっと、表現が難しいなぁ〜 (・.・;))

  で、エクセルは、ウィンドウズで動く、ばがでかいプログラムで作成された
  ひとつのアプリケーションということになる。
  実際にエクセルを開いてみれば、いろんな、アイコンが配置されている
  のはご承知のとおり。

  つまり、エクセルも、他のアプリケーション(ソフト)と同様、
  たくさんのオブジェクト(部品)が集まって、構成されていることがわかる。

  例えば、エクセルの中のメニュバーというオブジェクトを考えてみよう。
  その中にはファイルや、編集、表示などといったオブジェクトで構成されている。
  さらに、そのファイルの中にも、開く、保存、印刷・・・と言ったオブジェクトで構成
  されている。
  
  そして、それぞれのオブジェクトをマウスなどにより触れてみる。そうすることに
  よって、それぞれのオブジェクトに対するイベントがはじまり、処理が行われる。
  またその動作により、メッセージ交換を行って、次のオブジェクトに移行したり、
  強調したりするんだね。
  
  エクセルのVBAでは、それらのオブジェクトを中心にプログラミングすることから
  オブジェクト指向型プログラムと言われる由縁なんだね!!
  
 3 VBE(Visual Basic Editor)モジュール
  VBEは、VBAを作成、管理するツールのことです。
  VBAのプログラムはここで書きます。
  また、自動記録マクロが動作したときには、
  自動的に、ここに記録されます。

  プログラムを記述する場所、あるいは記録される場所のことを、
  モジュールと言っています。
  モジュールには、
  ●標準モジュール ●ユーザーフォーム ●クラスモジュール
  この3つで構成されています。

  VBEの中のプロジェクトエクスプローラを表示させると、モジュールの階層が
  よくわかりますネ。(↓参照)

  これらのモジュールの集まりを、まとめてプロジェクトといいます。

   VBAProject
    |
    |−■−Microsoft Excelオブジェクト ---> クラスモジュール
    |  |−Sheet1
    |  |−Sheet2             (シートやワークブックに割当られる)
    |  |−Sheet3
    |  狼hisWorkbook
    |
    |−モジュール               ---> 標準モジュール
    |  弄odule1
    |
     フォーム
        篭serForm1            ---> ユーザーフォーム



4 プログラムの基本構造 プロシージャ
  (1) プロシージャ
    VBAの基本構造は、プロシージャとモジュールから成り立っています。
    モジュールのことは、おおまかに理解できたと思いますので、
    ここではプロシージャについて、考えていきます。

    プロシージャは、簡単にいうと、実行プログラムを格納する入れ物です。
    そして、そのプロシージャを格納する入れ物が、モジュールである、
    ということが言えますネ。
   
  (2) プロシージャの種類も3種類
    @ Subプロシージャ
      単独で実行するプログラムや、実行結果を返す必要のないプログラム。
      プログラム自動記録マクロなどもこれにあたいします
      
      実際には
       Sub プロシージャ名(変数1,変数2,・・・)
        VBAのコード(プログラム)を記述
       End Sub
      と 書きます。

    A Functionプロシージャ
      他のプロシージャから呼出されたときに、実行結果を返すことができる
      ワークシート関数を自分で作成できるユーザー定義関数もこれにあたります。
      
      Function プロシージャ名(変数1 As データ型,変数2 As データ型,・・・)
       VBAのコード(プログラム)を記述
      End Function

    B Propertyプロシージャ
      これを使うには、高度な知識がいるらしい。独自のプロパティに対し
      値の設定などを行うと書いてあるが、小生にはよくわからんので、ここでは
       カーット!!  ヽ(∇⌒ヽ)  しますぅ〜
   
  (3) プロシージャの役割
   VBAでは、プロシージャで記述されたプログラムが、はじめて実行できる
   ひとつのプログラムとなります。
   また、プロシージャは、モジュールの中に複数作成することもできます。
   1つのプロシージャから、別のフロシージャを呼出すこともできますし、
   引数を引き渡して、別のフロシージャに計算させたりして、その結果を
   返してもらい、引き続きプログラムを実行していく、といったことも出来ます。

   To be Continued …

           【HOME】 【INDEX】【第1回】【第2回】