Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


36885 / 76732 ←次へ | 前へ→

【45022】隠しメソッド/プロパティの作り方 再質問
質問  TOSHI  - 06/12/10(日) 12:38 -

引用なし
パスワード
   ▼ichinose さん:
こんにちは
先程は、ありがとうございました。

済みません、更に質問が有ります。
実は、隠蔽するメソッドがかなり有り、それを使用する
特別なユーザーは、隠蔽メソッドを覚えておくか、忘れた場合は
実際のクラスモジュールを開いてメソッド名を確認して記述する必要が
有ります。


そこで以下のような事ができないかいろいろ試してみましたが
うまくいきませんでした。

クラス.Raw.XXX.ooo
XXXを入力して、"."を記入するとClass2のメソッド一覧(ooo)
が表示される。

そこでClass2に以下を追加してみたのですが、Class2のPublicメソッド/プロパティの一覧表示は無理でした。
またClass2のプロパティ「2-PublicNotCreatable」をしてみてもだめでした。
'========Class2====================
'以下のXXXプロパティを追加
Property Get XXX() As Class2
  Set XXX = Me
End Property


結局その機能を満たす為以下のように
しました。
これだと、クラス2変数や、オブジェクトブラウザ
から隠し用のClass2のメソッド(XXX)がわかってしまいますので、
クラス.Raw.XXX
を記述されCallされてしまいます。

XXXの隠しメソッドを特定ユーザが覚えていればいいのですが、
今のところXXXを10種〜20種用意しようと思ってますので
すこし利便性が悪いかなと思って悩んでます。
済みませんいろいろお時間とらせてしまって教えていたいたでのすが
この方法の解決方法が有りましたら教えていただけないでしょうか。

宜しくお願いいたします。


Sub test()
  Dim クラス As test_project.Class1
  Dim クラス2 As test_project.Class2
  Set クラス = test_project.ThisWorkbook.set_class1
  With クラス
    .Func1  'Func1は、メンバーとして見えるが、
'         Func2Privateは見えない 
    Set クラス2 = .Raw.XXX '
    クラス2. '<-ここで隠蔽したメソッド一覧が見える 
    End With
  Set クラス = Nothing
  Set クラス2 = Nothing

End Sub
1 hits

【44997】隠しメソッド/プロパティの作り方 TOSHI 06/12/9(土) 12:57 質問
【45005】Re:隠しメソッド/プロパティの作り方 ichinose 06/12/9(土) 20:29 発言
【45010】Re:隠しメソッド/プロパティの作り方 TOSHI 06/12/9(土) 23:14 質問
【45015】Re:隠しメソッド/プロパティの作り方 再投... ichinose 06/12/10(日) 8:44 発言
【45020】Re:隠しメソッド/プロパティの作り方 再投... TOSHI 06/12/10(日) 11:42 お礼
【45022】隠しメソッド/プロパティの作り方 再質問 TOSHI 06/12/10(日) 12:38 質問
【45031】Re:隠しメソッド/プロパティの作り方 再質... ichinose 06/12/10(日) 16:40 発言
【45036】ありがとうございました TOSHI 06/12/10(日) 18:38 お礼

36885 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free