オブジェクト、プロパティ、およびメソッドの概要

オブジェクトは、Microsoft Visual Basic の基本的な構成要素です。Visual Basic で行うほとんどの操作には、オブジェクトの変更が含まれます。 ドキュメント、テーブル、段落、ブックマーク、フィールドなど、Microsoft Word のすべての要素は、Visual Basic の オブジェクトで表すことができます。

オブジェクトおよびコレクションとは?

オブジェクトは、文書、段落、ブックマーク、または 1 文字などの Word の要素を表します。 コレクションは、他のいくつかのオブジェクト (通常は同じ型) を含むオブジェクトです。たとえば、ドキュメント内のすべてのブックマーク オブジェクトは、1 つのコレクション オブジェクトに含まれます。 プロパティとメソッドを使用すると、1 つのオブジェクトまたはオブジェクトのコレクション全体を変更できます。

プロパティとは

プロパティは、オブジェクトの属性、または動作の状態を表します。 たとえば、文書のプロパティには、文書の名前、内容、および保存状況に加えて、変更箇所を記録するかどうかが含まれます。 オブジェクトの属性を変更するには、オブジェクトのプロパティの値を変更します。

プロパティの値を設定するには、オブジェクトへの参照に続けて、ピリオド、プロパティ名、等号、および新しいプロパティ値を指定します。 次の使用例は、"MyDoc.doc" という名前の文書での変更履歴の記録をオンにします。

Sub TrackChanges() 
    Documents("Sales.doc").TrackRevisions = True 
End Sub

この例では、 Documents 開いているドキュメントのコレクションを参照し、"Sales.doc" という名前はコレクション内の 1 つのドキュメントを識別します。 TrackRevisions プロパティは、その 1 つの文書に対して設定されます。

設定できないプロパティもあります。 プロパティに関するヘルプ トピックには、そのプロパティを設定できる (値の設定および取得が可能) か、または取得だけできる (値の取得のみ可能) かが示されています。

オブジェクトのプロパティの値を取得することによって、オブジェクトについての情報を取得できます。 次の使用例は、作業中の文書の名前を取得します。

Sub GetDocumentName() 
    Dim strDocName As String 
    strDocName = ActiveDocument.Name 
    MsgBox strDocName 
End Sub

この例では、 ActiveDocument Word の作業中のウィンドウ内の文書を参照します。 変数に割り当てられているドキュメントの名前は、Word のアクティブウィンドウ内のドキュメントを参照します。 そのドキュメントの名前が変数 strDocNameに割り当てられます。

注釈

各プロパティのヘルプには、設定が可能 (値の取得および設定が可能) か、取得だけできる (値の取得のみ可能) か、または設定だけできる (値の設定のみ可能) かが示されています。 また、Visual Basic Editor のオブジェクト ブラウザーは、プロパティが選択されると、ブラウザー ウィンドウの下部に、取得および設定に関する情報を表示します。

メソッドとは

メソッドは、オブジェクトが実行できる処理です。 たとえば、文書を印刷できる場合、 Document オブジェクトには PrintOut メソッドが用意されています。 メソッドには、動作の実行を限定する引数が伴う場合もあります。 次の使用例は、作業中の文書の先頭の 3 ページを印刷します。

Sub PrintThreePages() 
    ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Pages:="1-3" 
End Sub

多くの場合、メソッドは動作で、プロパティは属性です。 メソッドを使用するとオブジェクトになんらかの状態が発生するのに対して、プロパティを使用するとオブジェクトについての情報が取得されたり、オブジェクトの属性が変更されます。

オブジェクトを取得する

コレクションから 1 つのオブジェクトを取得することで、ほとんどのオブジェクトは取得できます。 たとえば、 Documents コレクションには開いている Word 文書が含まれています。 Documents コレクションを取得するには、Application オブジェクト (Word オブジェクト階層の上部にあるオブジェクト) の Documents プロパティを使用します。

コレクションにアクセスした後、かっこ内のインデックス値を使用して 1 つのオブジェクトを返すことができます (これは配列の操作方法と似ています)。 インデックス値は通常、数値または名前です。 詳細については、「 コレクションからオブジェクトを返す」を参照してください。

次の使用例は、Documents プロパティを使用して Documents コレクションにアクセスします。 ここでは、インデックス番号を使用して、Documents コレクション内の 1 番目の文書を取得します。 次に、Close メソッドが Document オブジェクトに適用され、Documents コレクション内の最初のドキュメントが閉じられます。

Sub CloseDocument() 
    Documents(1).Close 
End Sub

次の使用例は、文字列で名前を指定して、 Documents コレクション内の Document オブジェクトを識別します。

Sub CloseSalesDoc() 
    Documents("Sales.doc").Close 
End Sub

コレクション オブジェクトには、多くの場合、オブジェクトのコレクション全体を変更するために使用できるメソッドとプロパティがあります。 たとえば、 Documents オブジェクトの Save メソッドは、コレクション内のすべての文書を保存します。 次の使用例は、 Save メソッドを使用して、開いている文書を保存します。

Sub SaveAllOpenDocuments() 
    Documents.Save 
End Sub

Document オブジェクトには、1 つのドキュメントを保存するために使用できる Save メソッドもあります。 次の使用例は、Sales.doc という名前の文書を保存します。

Sub SaveSalesDoc() 
    Documents("Sales.doc").Save 
End Sub

Word オブジェクトの階層のさらに下位のオブジェクトを取得するには、オブジェクトを取得するプロパティおよびメソッドを使用して、"下位層" をどのように取得するかを判断する必要があります。

To see how this is done, open the Visual Basic Editor and click Object Browser on the View menu. Click Application in the Classes list on the left. Then click ActiveDocument from the list of members on the right. The text at the bottom of the Object Browser indicates that ActiveDocument is a read-only property that returns a Document object. Click Document at the bottom of the Object Browser; the Document object is automatically selected in the Classes list, and the Members list displays the members of the Document object. Scroll through the list of members until you find Close. Click the Close method. The text at the bottom of the Object Browser window shows the syntax for the method. For more information about the method, press F1 or click the Help button to jump to the Close method Help topic.

この情報を基に、作業中の文書を閉じる次のコードを作成できます。

Sub CloseDocSaveChanges() 
    ActiveDocument.Close SaveChanges:=wdSaveChanges 
End Sub

次の使用例は、作業中の文書ウィンドウを最大化します。

Sub MaximizeDocumentWindow() 
    ActiveDocument.ActiveWindow.WindowState = wdWindowStateMaximize 
End Sub

ActiveWindow プロパティを使用して、作業中のウィンドウを表す Window オブジェクトを取得します。 WindowState プロパティには、ウィンドウを最大化する定数 (wdWindowStateMaximize) を設定しています。

次の例では、ドキュメントを作成し、[ 名前を付けて保存 ] ダイアログ ボックスを表示して、ドキュメントの名前を指定できるようにします。

Sub CreateSaveNewDocument() 
    Documents.Add.Save 
End Sub

Documents プロパティを使用して、 Documents コレクションを取得します。 Add メソッドで新しい文書を作成し、 Document オブジェクトを取得します。 Save メソッドは Document オブジェクトに適用されます。

このように、メソッドまたはプロパティを使用して、下位のオブジェクトを取得します。 つまり、オブジェクトを取得するには、オブジェクト階層の中で、目的のオブジェクトの上位のオブジェクトにメソッドまたはプロパティを適用します。 目的のオブジェクトを返した後、メソッドを適用し、そのオブジェクトのプロパティを制御できます。

オブジェクト、メソッド、およびプロパティのヘルプを表示する

Word オブジェクト モデルに慣れるまで、階層をドリルダウンするのに役立つツールがあります。

  • Microsoft IntelliSense。 Visual Basic エディターでオブジェクトの後にピリオド (.) を入力すると、使用可能なプロパティとメソッドの一覧が表示されます。 たとえば、 と入力 Application.すると、 Application オブジェクトのメソッドとプロパティのドロップダウン リストが表示されます。

  • Help. You can also use Help to find out which properties and methods can be used with an object. Each object topic in Help includes a See Also jump that displays a list of properties and methods for the object. オブジェクト ブラウザーまたはモジュールで F1 キーを押して、適切なヘルプ トピックに移動します。

  • Object Browser. The Object Browser in the Visual Basic Editor displays the members (properties and methods) of the Word objects.

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。