Excel VBA プロジェクトにオブジェクトの配列があります。同じクラスの別のインスタンスを作成し、そのプロパティの 1 を設定しました。次に、オブジェクトの配列を検索して、同じプロパティの現在のオブジェクトと一致する配列内のオブジェクトを見つけようとしています。自己参照 Me を使用して、現在のオブジェクトのメソッドの 1 つ内の配列内のオブジェクトに現在のオブジェクトを設定したいと思います。
私は試した:
Set Me = objectArray(index)
これは動作しません。これは Me キーワードの不適切な使用であると書かれています。現在のオブジェクトを同じタイプの別のオブジェクトに設定する方法はありますか? ありがとう!
編集:
子オブジェクトを持つオブジェクトがあります:
Me.friShift.shiftType.loadFromArray
ここで、shiftType は、自分で定義したクラスである CVocabulary 型のオブジェクトです。次のような loadFromArray というサブがあります。
Public Sub loadFromArray()
Dim index As Integer
index = searchVocabArray(Me.typed)
If (index = -1) Then
Exit Sub
End If
Set Me = vocabArray(index)
End Sub
vocabArray() は、CVocabulary オブジェクトを含むグローバル配列です。
オブジェクトをそれ自体から設定できない場合は、別の方法を試すことができます。これは、これを行う最も簡単で直接的な方法です。現在のオブジェクトの各パラメーターを配列内のオブジェクトのパラメーターの値に設定できると確信していますが、上記のようなことが可能であれば、それが私の好みの方法でした。