オブジェクトのコレクションへのアクセス
オートメーション オブジェクト プログラミング ガイド への移動
コレクションは、同じタイプのオブジェクト グループです。たとえば、Models オブジェクトは、ダイアグラム内のすべてのモデルのコレクションです。
各コレクションには、4 つのメソッドがあります。
- Item (): デフォルト メソッドです
- Add()
- Remove()
- Count()
オブジェクトにアクセスするには、名前(該当する場合は、シーケンス番号やテクニカル キー)を使用することができます。次のサンプル コードは、デフォルトの動作を記述したものです。
Dim myentity as Entity
Set myentity = mymodel.Entities("Entity1")
この例では、Entities コレクション内の Item() メソッドが呼び出されて Entity1 オブジェクトを返します。Item() メソッドはデフォルト メソッドであるため、スクリプト内でメソッドを明示的に参照する必要はありません。
特に説明のない限り、すべてのコレクションで、Add()、Remove()、および Count() メソッドがサポートされます。これらのメソッドは、ER Studio Data Architect の内部データを直ちに変更します。Add() メソッドは新しいオブジェクトをコレクションに追加します。オブジェクトが正しく初期化されていないと、Add() は失敗します。Count() はコレクション内のオブジェクト数を返します。
コレクション内で操作を繰り返す
コレクション内の各オブジェクトを取得する際に、最もよく使用されるのは For Each ... Next ループです。変数 HowMany を使用し、次のようにループを開始して繰り返します。
' 指定したコレクション内の各エンティティにエンティティ名を設定します
Dim MyDiagram As Diagram
Dim MyModel As Model
Dim MyEntity As Entity
Dim EntName As String
Dim HowMany As Integer
Set MyDiagram = DiagramManager.ActiveDiagram
Set MyModel = MyDiagram.ActiveModel
HowMany = 1
' Entities コレクションに操作を繰り返して、すべてのエンティティの名前を変更します
For Each MyEntity In MyModel.Entities
' CStr 関数を使用して Count 変数を文字列に変換します
EntName = "ShinyNewEntity" + CStr (HowMany)
MyEntity.EntityName = EntName
HowMany = HowMany + 1
Next MyEntity