(クラス)でEnumのプロパティを作成しました。
private eData As enmCode
(コレクション)内で、該当する値を探しだし、enumCodeを戻り値として
変えそうとする関数を作成しましたが、動かすとエラーで怒られてしまいました・・・。
(エラー:このオブジェクトは、このプロパティ又はオブジェクトをサポートしていません)
Public Function GGetCode(ByVal sName As String) As enmCode
GGetCode = Start
Dim nCnt As Long
For nCnt = 1 To mCol.Count
If (mCol(nCnt).sName = sName) Then
GGetCode = mCol(nCnt).Code <-------- コレがエラーに。
Exit Function
End If
Next nCnt
End Function
Enumの使い方がなってないと思うのですが・・・
どうにもわからなくて・・・。
すみませんが教えて下さいm(_ _)m
ちなみに、ENumの定義はクラス内でしています。
Public Enum enmCode
Start = 0
Stop = 1
WorkEnd = 2
end Enum
> If (mCol(nCnt).sName = sName) Then
> mCol(nCnt).Code
mColはどうなっていますか?
生成しているか?という事でしょうか?
であれば、生成はしてあります。
データも何件か入っているのを確認したのですが・・・。
>生成しているか?という事でしょうか?
いや、中身の構造がどうなってるか?だと思う。
>(エラー:このオブジェクトは、このプロパティ又はオブジェクトをサポートしていません)
これは結局、『mCol(nCnt) に Code っていう名前のものが無いです』って意味なので
mCol は何?って事を説明して?質問文の中で全く触れてないよね?
変数名を見るとモジュールレベルの変数みたいだから何の型の配列で、
オブジェクト型なら生成したインスタンスをどういうコードで設定してるか?まで
ちゃんと説明しましょう。
特攻体調まるるうさんの言う通りでした・・。
おはずかしい。
GGetCode = mCol(nCnt).Code
クラスの定義をよく見直してみた所
Codeと言う名称が微妙に違っていました。
ホントにスミマセン!!!
Blueさん、特攻体調まるるうさんありがとうございました。
穴があったら入りたい・・・。(T_T)
説明ベタですみません。
ツイート | ![]() |