【オブジェクト・メソッド・プロパティは何が違うの?】VBA用語を図解で解説

VBA用語を図解で解説

「オブジェクト?メソッド?プロパティ?」

どんな意味か分からないし、そもそも何が違うの?

VBAのエラーメッセージ

こんなエラーメッセージを見たことはありますか?

エラーメッセージには専門用語があり、分からない方も多いのではないでしょうか。

そんな時、オブジェクト・プロパティ・メソッドなどの意味や違いが分かればエラーに対応し易くなります。

本記事では基本的な専門用語を図解で分かりやすく解説していきます。最後には上記エラーメッセージが理解できるようなっていると思います。

こんな方におすすめ

・オブジェクト・プロパティ・メソッドの意味と違いが知りたい

・VBAの基本的な専門用語が知りたい

・上記エラーメッセージの意味が知りたい

結論

オブジェクト:操作ができるモノ。「ワークシート」「セル」「フォント」など

プロパティ:オブジェクトの情報。「Value(値)」「Color(色)」「Size(大きさ)」など

メソッド:オブジェクトに機能を付ける。「Delete(削除する)」「Copy(コピーする)」など

・プロシージャ・モジュール・プロジェクトの用語を知っていればVBAの理解力も上がる

・「オブジェクトは、このプロパティまたはメソッドをサポートしていません」→プロパティやメソッドのスペルを間違えている可能性が高い

まずはオブジェクト・プロパティ・メソッドを分かりやすくイメージしてもら為に、車に例えます。

「オブジェクト(モノ):車」「プロパティ(情報):車の色」「メソッド(動作):走る」とイメージすると考えやすくなると思います。

オブジェクトとは

オブジェクトとは、Excelで「操作できるモノ」のことを指します。

オブジェクトのイメージと種類を示した表
オブジェクトのイメージ図

実際にワークシートやセルが「オブジェクト」と聞くとイメージし易いのではないでしょうか。

プロパティとは

プロパティとは、オブジェクトの「情報」のことを指します。

オブジェクトをセルとした時、セルの「Value:値」がプロパティになります。

プロパティのイメージとよく使うプロパティの一覧を示した図

プロパティは「オブジェクト””○○」と言うようにオブジェクトの次に”の”が入るとプロパティだと思ってください。

メソッドとは

メソッドとは、オブジェクトに「機能を付ける」ことを指します。

オブジェクトをセルとした時、セルを「Copy:コピーする」がメソッドになります。

メソッドのイメージとよく使うメソッドの一覧を示した図

メソッドは「オブジェクトを○○”する”」と言うように動詞が入ってきたらメソッドだと思ってください。

「関数」っていう用語もあるよ

メソッドの親戚で「関数」という用語もあります

「関数」はメソッドと同じく機能を表します。

メソッドはオブジェクトに機能を付けることですが、関数はオブジェクトに関係なく機能を表す際に使用する用語です。

例えば、「メッセージボックスを表示するMsgBox関数」「現在の日時を取得するNow関数」などあります。

メソッドと関数は機能を表す用語」と思って問題ありません。

基本的なVBA用語

プロシージャ・モジュール・プロジェクトという基本的なVBAの専門用語があります。

知らなくてもコードは書けますが、中級者以上になると知っておいた方がいい用語になるので、出来れば理解しておきましょう。

プロジェクト・モジュール・プロシージャのイメージ図
「プロシージャ」

プロシージャとは、コードで書いた処理のまとまりのこと。

マクロが動く最小単位のことでもあります。

VBAでは「Subプロシージャ」「Functionプロシージャ」「Propatyプロシージャ」がありますが、ビギナーのうちは「Subプロシージャ」だけ覚えれば問題ありません。

プロシージャの単位を説明した画像

上記の通り、「Sub プロシージャ名()~End Sub」までがプロシージャとなります。

名前はtomorrowとなっていますが、プロシージャ名は一部を除いて自由に決めることが出来ます。

「モジュール」

モジュールとは1つ、もしくは複数のプロシージャが集まり構成されたプログラムのこと。

マクロを作るときは標準モジュールを作り、その中にプロシージャの処理を書きます。

マクロ(標準モジュール)以外にもユーザーフォームやクラスモジュールなどありますが、初めのうちはマクロ(標準モジュール)のみ覚えて頂ければ問題ありません。

モジュールを説明した画像
「プロジェクト」

プロジェクトとは、モジュールが集まり構成されたデータの塊のこと。

Excelでは1つのワークブックに、1つのプロジェクトが存在します。

基本的にはプロジェクトは1つだと覚えて頂ければ問題ありません。

VBAのプロジェクトを説明した画像

オブジェクトは、このプロパティまたはメソッドをサポートしていません

つまり、「このプロパティ(情報)やメソッド(機能)を認識できません」というメッセージです。

「オブジェクトは、このプロパティまたはメソッドをサポートしていません」の解説

上記の例だと、このプロパティ(Valeu)を認識できないので、間違ってる可能性が高いです。

実際にValeuはスペルが間違っており、「Value」に直すと実行されると思います。

このように、エラーのときは専門用語がたくさん出てくるので、基礎的な用語でも知っていれば対処しやすいと思います。

まとめ

基本的なVBA専門用語のポイント

オブジェクト:操作ができるモノ。「ワークシート」「セル」「フォント」

プロパティ:オブジェクトの情報。「オブジェクト””○○」「セル”の”値」

メソッド:オブジェクトに機能を付ける。「オブジェクトを○○”する”」「セルを削除”する”」

・マクロの最小単位であるプロシージャ➡モジュール➡プロジェクトの順に大きくなっていく

・「オブジェクトは、このプロパティまたはメソッドをサポートしていません」→プロパティやメソッドのスペルを間違えている可能性が高い

コメント

タイトルとURLをコピーしました