目次:
- Excelでは、
- コレクション
- は基本的にオブジェクトの特性です。あなたの家には、色、平方フィート、年齢などがあります。あなたの家の色など、いくつかのプロパティを変更することができます。あなたの家が建てられた年のような他の特性は変更できません。
- は、オブジェクトに対して実行できるアクションです。これは、メソッドを動詞と考えるのに役立ちます。たとえば、家をペイントすることができます。 VBAでは、それは
ビデオ: Introduction to the Excel VBA Object Model [ontrackTV tutorial] 2024
Visual Basic for Applicationsはオブジェクト指向プログラミング言語です。 オブジェクト指向プログラミング の基本的なコンセプトは、ソフトウェアアプリケーション(この場合はExcel)がさまざまな個別のオブジェクトで構成されていることです。それぞれのオブジェクトはそれぞれ独自の機能と使い方を持っています。
Excelアプリケーションには、セル、ワークシート、チャート、ピボットテーブル、図形が含まれています.Excelのオブジェクトのリストは一見エンドレスです。各オブジェクトには、 プロパティ 、 という独自の機能セットがあり、 メソッド と呼ばれます。
<! - 1 - >このコンセプトは、コンピュータ、車、冷蔵庫など、毎日遭遇するオブジェクトと同じように考えることができます。これらのオブジェクトのそれぞれは、身長、体重、および色などの識別特性を有する。彼らはそれぞれエクセルでの作業、長距離での輸送、腐敗しやすい食品の冷凍など、独自の使い方をしています。 VBAオブジェクトは、識別可能なプロパティおよび使用方法も有する。ワークシート・セルはオブジェクトであり、記述可能なフィーチャー(そのプロパティー)にはアドレス、高さ、書式付き塗りつぶし色があります。ワークブックはVBAオブジェクトでもあり、その使用可能な機能(そのメソッド)には、開かれ、閉じられ、チャートまたはピボットテーブルが追加される機能があります。
<! - 2 - >
Excelでは、ワークブック、ワークシート、および範囲を毎日処理します。おそらく、これらのオブジェクトのそれぞれをExcelのすべての部分と考えることができます。しかし、ExcelはこれらをExcelオブジェクトモデルと呼ばれる階層モデルのすべての部分として内部的に考える。Excelオブジェクトモデル は、オブジェクト間の関係に基づいて構造化された明確に定義されたオブジェクトの集合です。 <!オブジェクトを理解する
現実の世界では、オブジェクトとして見えるものすべてを記述することができます。あなたの家を見ると、それは目的です。あなたの家には部屋があります。それらの部屋は別々のオブジェクトでもあります。これらの客室にはクローゼットが付いています。それらのクローゼットも同様にオブジェクトです。あなたの家、部屋、クローゼットについて考えると、それらの間に階層的な関係があるかもしれません。 Excelは同じ方法で動作します。Excelでは、
アプリケーションオブジェクト
は、あなたの家に似た包括的なオブジェクトです。 Applicationオブジェクト内には、Excelにワークブックがあります。ワークブック内にワークシートがあります。その中には範囲があります。これらはすべて階層構造に存在するオブジェクトです。 VBA内の特定のオブジェクトを指すには、オブジェクトモデルをトラバースできます。たとえば、シート1のセルA1にアクセスするには、次のコードを入力します。 Activeworkbook。シート( "シート1")。範囲( "A1")。 Select
ほとんどの場合、オブジェクトモデル階層が理解されているため、すべてのレベルを入力する必要はありません。このコードを入力すると、Excelはアクティブなワークブックを意味し、アクティブなシートは
Range( "A1")と推測するため、A1セルに移動します。 Select
実際にカーソルがA1のセルにある場合、単にActiveCellオブジェクトを使用するだけで、範囲のスペルを省略することができます:
Activecell。選択
コレクションの理解
Excelのオブジェクトの多くは、
コレクション
に属します。これらは基本的に同じオブジェクトのグループです。同様に、あなたの家は家の集まりである近所の中に座っています。それぞれの近所は、都市と呼ばれる近所の集まりに座っています。 Excelはコレクションをオブジェクトそのものとみなします。 各ワークブックオブジェクトには、ワークシートのコレクションがあります。 Worksheetsコレクションは、VBAを通じて呼び出すことができるオブジェクトです。ワークブック内の各ワークシートは、ワークシート・コレクション内にあります。 ワークシートコレクション内のワークシートを参照する場合は、コレクション内の位置、1から始まるインデックス番号、または引用符で囲んだテキストの名前で参照できます。 MySheetと呼ばれるワークシートが1つしかないワークブックで次の2行のコードを実行すると、ワークシートは同じことをします:
ワークシート(1)。ワークシート(「MySheet」)を選択します。
を選択アクティブワークブックにMySheetとYourSheetという名前のワークシートが2つある場合は、次のいずれかの文を入力して2番目のワークシートを参照できます。
ワークシート(2)。ワークシート(「YourSheet」)を選択します。
ワークシート( "MyData。xls")を選択すると、ワークシートの参照とワークブックの参照を次のように修飾する必要があります。
ワークシートをアクティブにしない特定のワークブックでMySheetというワークブックを参照する場合は、 )。ワークシート( "MySheet")。
プロパティの理解
プロパティ
は基本的にオブジェクトの特性です。あなたの家には、色、平方フィート、年齢などがあります。あなたの家の色など、いくつかのプロパティを変更することができます。あなたの家が建てられた年のような他の特性は変更できません。
同様に、WorksheetオブジェクトのようなExcelのオブジェクトは、変更可能なシート名プロパティと行を持ちます。カウントできない行プロパティを数えます。 オブジェクトを参照してプロパティを参照することにより、オブジェクトのプロパティを参照します。たとえば、Nameプロパティを変更してワークシートの名前を変更できます。
この例では、Sheet1の名前をMySheet:
Sheets( "Sheet1")に変更します。 Name = "MySheet"
一部のプロパティは読み取り専用です。つまり、値を直接割り当てることはできません。読み取り専用プロパティの例は、cellのTextプロパティです。これは、セル内の値の書式設定された外観を提供します。上書きや変更はできません。
メソッドの理解
メソッド
は、オブジェクトに対して実行できるアクションです。これは、メソッドを動詞と考えるのに役立ちます。たとえば、家をペイントすることができます。 VBAでは、それは
家に翻訳される可能性があります。 paint Excelメソッドの簡単な例は、RangeオブジェクトのSelectメソッドです:
Range( "A1")。 Select
RangeオブジェクトのCopyメソッドは
Range( "A1")です。コピー
メソッドの中には、メソッドがどのように適用されるかを指示するパラメータがあります。たとえば、
ActiveSheetを明示的に定義することで、Pasteメソッドをより効果的に使用できます。ペースト先:=範囲( "B1")