2018.12.23「人間」を例に、「エクセル」と比べながら、オブジェクトとメソッド・プロパティを説明していきます。今回は誰でもイメージしやすいように、「人間」を物のような表現で扱っています。スポンサーリンク目次オブジェクトってなに?オブジェクトのプロパティとメソッドプロパティとメソッドの書き方プロパティとメソッドを実行した時の違いまとめ関連記事オブジェクトってなに?エクセルには、ブック(ファイル)やシート、セルなどいろいろな部品(物)があります。このような部品のことを、プログラミングの世界ではオブジェクトと呼びます。英語っぽくて難しく感じるかもしれませんが、オブジェクトという単語を聞いたり・見たりしたら「あっ部品のことね!」と気楽に受け止めてください。人間の場合は、次のようなオブジェクト(部品)があります。足VBA)エクセルエクセルだと、次のようなオブジェクト(部品)があります。エクセルのオブジェクト(部品)セルシートブック(ファイルのこと)オブジェクトのプロパティとメソッドオブジェクト(部品)には、プロパティとメソッドという2つの機能があります。プロパティは「特徴」、メソッドは「動作」という意味です。このプロパティとメソッドの大きな違いは、動きがあるかorないかです。プログラミングを始めたばかりだと、プロパティとメソッドの違いを理解するのが難しいので、比較しながら説明していきます。例)人間の目さっきの人間の例で説明すると、人間には「目」という部品があります。この「目」には、次のようなプロパティとメソッドがあります。目のメソッド(動作)目を開ける目を閉じる目をまばたきする日本語で言うと「○○○の□□□」と「の」で表現する動きのないのがプロパティ(特徴)「○○○を□□□」と「を」で表現する動きのあるのがメソッド(動作)となります。大事なポイントとしては、オブジェクト(部品)によって、持っているプロパティやメソッドが違うことです。今回のオブジェクト「目」には、「視力」というプロパティがあります。他のオブジェクト(手や足)にはありません。「大きさ」など一般的な特徴であれば、他のオブジェクト(手や足)にもプロパティとしてあります。メソッドも同様に、「目」には「閉じる」というメソッドがありますが、「足」にはありません。「足」には「曲げる」「伸ばす」などのメソッドがあります。VBA)エクセルのセル考え方がわかった?ところで、エクセルの場合を考えてみましょう。さっきの例では「人間の目」という部品でプロパティとメソッドを説明しました。今度は「エクセルのセル」という部品でプロパティとメソッドをいくつかあげてみます。セルのプロパティ(特徴)セルの値セルの背景色セルの文字サイズセルのメソッド(動作)セルを追加するセルを削除するセルを結合する「人間の目」を例に考えた時と同じように、外見などの特徴がプロパティ、動きなどがある操作がメソッドとなることがわかると思います。.(カンマ)でつなげます。Range(“A1”).Font.SizeRangeはセルのことなので、Range(“A1”)はセルA1になります。日本語で「の」の部分が、プログラムでは「.(カンマ)」になっています。Range(“A1:B3”).Merge日本語で「を」の部分が、プログラムでは「.(カンマ)」になっています。メモ「セルを結合する」にあるRange(“A1:B3”)は、セルA1からB3という範囲でセルを指定しています。プロパティとメソッドを実行した時の違いオブジェクトのプロパティ・メソッドをプログラムで実行した時の大きな違いはプロパティは調べるだけなので、オブジェクトに影響はないメソッドは動作があるので、オブジェクトに影響があるとなります。「影響がある?」とちょっとなってしまいそうなので、実際に次のようなシートで、プロパティとメソッドを扱うプログラムを書いて実行してみます。プロパティを使ったプログラムセルA1の値をValueプロパティで調べて、MsgBoxという命令で結果をメッセージボックスに表示してみます。Sub実行後にはメッセージが表示されます。この時、エクセルのセルには変化はありません。メソッドを使ったプログラム今度はメソッドを使って、セルA1にセルを追加してみます。Sub実行後、エクセルのシートには新しいセルが追加されています。この時、エクセルには新しいセルが追加され、元々のA1セルも1つ下に移動したという変化があります。プロパティは調べただけでセルに影響はなく、メソッドはセルに影響を与えたということがわかります。プロパティの値を変更ただし、プロパティも変数のように=で値をセットすることができます。変数と同じように、右側の値でプロパティの値が変更されます。Sub実行後は、セルA1の値が次のように変わります。「えくとしょ」を作ってる人フリーランスのシステムエンジニア。VBAやVB.NETなどVB系の言語で、業務システムの開発をしています。職業訓練校で、エクセルVBAの講師などもしています。「えくとしょ」を作ってる人フリーランスのシステムエンジニア。VBAやVB.NETなどVB系の言語で、業務システムの開発をしています。職業訓練校で、エクセルVBAの講師などもしています。自動化ツール・便利プログラム集タイトルとURLをコピーしました。