オブジェクトとメソッド・プロパティの基本

「人間」を例に、「エクセル」と比べながら、オブジェクトとメソッド・プロパティを説明していきます。

今回は誰でもイメージしやすいように、「人間」を物のような表現で扱っています。

オブジェクトってなに?

エクセルには、ブック(ファイル)やシート、セルなどいろいろな部品(物)があります。

このような部品のことを、プログラミングの世界ではオブジェクトと呼びます。

英語っぽくて難しく感じるかもしれませんが、オブジェクトという単語を聞いたり・見たりしたら「あっ部品のことね!」と気楽に受け止めてください。

例)人間

人間の場合は、次のようなオブジェクト(部品)があります。

人間の
オブジェクト(部品)

 

VBA)エクセル

エクセルだと、次のようなオブジェクト(部品)があります。

エクセルの
オブジェクト(部品)
セル
シート
ブック(ファイルのこと)

 

オブジェクトのプロパティとメソッド

オブジェクト(部品)には、プロパティメソッドという2つの機能があります。

プロパティは「特徴」、メソッドは「動作」という意味です。このプロパティとメソッドの大きな違いは、動きがあるかorないかです。

プログラミングを始めたばかりだと、プロパティとメソッドの違いを理解するのが難しいので、比較しながら説明していきます。

例)人間の目

さっきの人間の例で説明すると、人間には「目」という部品があります。この「目」には、次のようなプロパティとメソッドがあります。

目の
プロパティ(特徴)
大きさ
視力
目の
メソッド(動作)
開ける
閉じる
まばたきする

 

日本語で言うと

  • 「○○○□□□」とで表現する動きのないのがプロパティ(特徴)
  • 「○○○□□□」とで表現する動きのあるのがメソッド(動作)

となります。

また、大事なポイントとしては、オブジェクト(部品)によって、持っているプロパティやメソッドが違うことです。

今回のオブジェクト「目」には、「視力」というプロパティがあります。でも、他のオブジェクト(手や足)にはありません。

もちろん「大きさ」など一般的な特徴であれば、他のオブジェクト(手や足)にもプロパティとしてあります。

メソッドも同様に、「目」には「閉じる」というメソッドがありますが、「足」にはありません。「足」には「曲げる」「伸ばす」などのメソッドがあります。

 

VBA)エクセルのセル

考え方がわかった?ところで、エクセルの場合を考えてみましょう。

さっきの例では「人間の目」という部品でプロパティとメソッドを説明しました。今度は「エクセルのセル」という部品でプロパティとメソッドをいくつかあげてみます。

セルの
プロパティ(特徴)
セル
セル背景色
セル文字サイズ
セルの
メソッド(動作)
セル追加する
セル削除する
セル結合する

「人間の目」を例に考えた時と同じように、外見などの特徴がプロパティ、動きなどがある操作がメソッドとなることがわかると思います。

 

プロパティとメソッドの書き方

実際にプログラムでプロパティとメソッドを書く時は、日本語で「の」「を」になる部分を .(カンマ)でつなげます。

プロパティ

セルの
プロパティ(特徴)
セル Range(“A1”).Value
セル背景()色 Range(“A1”).Interior.Color
セル文字()サイズ Range(“A1”).Font.Size

Rangeはセルのことなので、Range(“A1”)はセルA1になります。
日本語で「の」の部分が、プログラムでは「.(カンマ)」になっています。

 

メソッド

セルの
メソッド(動作)
セル追加する Range(“A1”).Insert
セル削除する Range(“A1”).Delete
セル結合する Range(“A1:B3”).Merge

日本語で「を」の部分が、プログラムでは「.(カンマ)」になっています。

メモ

「セルを結合する」にあるRange(“A1:B3”)は、セルA1からB3という範囲でセルを指定しています。

 

プロパティとメソッドを実行した時の違い

オブジェクトのプロパティ・メソッドをプログラムで実行した時の大きな違いは

  • プロパティは調べるだけなので、オブジェクトに影響はない
  • メソッドは動作があるので、オブジェクトに影響がある

となります。

「影響がある?」とちょっとなってしまいそうなので、実際に次のようなシートで、プロパティとメソッドを扱うプログラムを書いて実行してみます。

プロパティを使ったプログラム

セルA1の値をValueプロパティで調べて、MsgBoxという命令で結果をメッセージボックスに表示してみます。

実行後にはメッセージが表示されます。

この時、エクセルのセルには変化はありません。

メソッドを使ったプログラム

今度はメソッドを使って、セルA1にセルを追加してみます。

実行後、エクセルのシートには新しいセルが追加されています。

この時、エクセルには新しいセルが追加され、元々のA1セルも1つ下に移動したという変化があります。

つまり、プロパティは調べただけでセルに影響はなく、メソッドはセルに影響を与えたということがわかります。

 

プロパティの値を変更

ただし、プロパティも変数のように=で値をセットすることができます。変数と同じように、右側の値でプロパティの値が変更されます。

実行後は、セルA1の値が次のように変わります。

POINT

プログラムの命令にある = は、右の値を左にセット

 

まとめ

  • オブジェクトはエクセルのいろいろな部品のこと
  • オブジェクトにはプロパティ(特徴)、メソッド(操作)の2つの機能がある
  • オブジェクトによって、持っているプロパティやメソッドが違う
  • プロパティ(特徴)は実行しただけでは、オブジェクトに影響を与えない
  • メソッド(操作)は実行すると、オブジェクトに影響を与える

 

関連記事

初心者のためのエクセルVBA超入門講座
VBAおすすめ本
エクセルVBAおすすめ本|実際に読んだ本を目的別に紹介
成果を出す5つのポイント
VBA超入門
えくとしょ | 初心者のためのエクセルとVBAの図書館
タイトルとURLをコピーしました