1

このクラスを作成しましたが、

Interval.cls
public x as new collection
public y as new collection
public z as string

ユーザーに入力 x、y、z をフォームで選択してもらいたいので、プロパティをループしたいので、サブで

sub test()

dim inter as new Intervals

inter.x.add "a"
inter.x.add "a"
inter.x.add "b"
inter.x.add "b"
inter.x.add "b"

userString1 = x
userString2 = a

' ユーザーが望むものは何でも結果を提供できるように、動的にしたいと考えています。'userString を自分のプロパティと比較できるようにしたいだけです

for each i in inter

'したがって、このループ内の i がプロパティ x、y、z になるようにしたいので、if ステートメントを作成できます if ( i = userString1) then

end if
next i
end sub

クラスでtweekを作成して反復可能にすることができることは知っていますが、その方法はわかりません

どんな助けでも大歓迎です

4

2 に答える 2

2
'in class
Public Property Get Item(i As Integer) As Variant

   Select Case ndx
      Case 1: Item = Me.x
      Case 2: Item = Me.y
      Case 3: Item = Me.z
   End Select

End Property

'in sub
Dim c as Collection
Dim s as String

For i = 1 to 3
   if i < 3 then 
      set c = inter.Item(i)
      'iterate through collection
   else
      s = inter.Item(i)
   end if
next i

このようなものはおそらく最も簡単な方法です。私はそれをテストしませんでしたが、うまくいけば、少なくともあなたが始めることができます

于 2013-08-22T16:55:43.423 に答える