Excel VBA質問箱 IV

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

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


29160 / 76738 ←次へ | 前へ→

【52863】クラスによるコントロールの配列処理
質問  ハナ  - 07/12/7(金) 9:33 -

引用なし
パスワード
   いつも参考にさせていただいてます。
UserForm上に配置したTextBoxを配列として扱う処理を
MOUGの「スキルアップ講座」を参考にして、以下のように作成しました
動作および内容は
UserForm1上のTextBoxをダブルクリックするとそのTextBoxに文字”OK”が入る
というイメージです。
 
標準モジュール
Sub test()
UserForm1.Show
End Sub

で、UserForm1を表示。

UserForm1
*TextBox1〜3を配置
コレクション インスタンス生成

Option Explicit
Option Base 1
Dim myClass1(3) As New Class1
Private Sub UserForm_Initialize()
   Dim myTextBox As New Collection
   Dim i As Integer
   With myTextBox
      .Add Item:=TextBox1
      .Add Item:=TextBox2
      .Add Item:=TextBox3
   End With
   For i = 1 To 3
      Set myClass1(i) = New Class1
      With myClass1(i)
         .Txt = myTextBox(i)
         .Index = i
      End With
   Next
End Sub

クラスモジュール「Class1」でTextBoxダブルクリック時の
メソッド記述(イベントプロシジャー)
標準モジュールに記述の *** Syori_FromTextBox をCall ***

Option Explicit

Private WithEvents myTxt As MSForms.TextBox
Private t_intIndex As Integer

Public Property Get Cmd() As MSForms.TextBox
   Set Txt = myTxt
End Property

Public Property Let Txt(ByVal txtNewValue As MSForms.TextBox)
   Set myTxt = txtNewValue
End Property

Public Property Get Index() As Integer
   Index = t_intIndex
End Property

Public Property Let Index(ByVal intNewValue As Integer)
   t_intIndex = intNewValue
End Property


Private Sub myTxt_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim temps As Object
  Set temps = Me.Txt(t_intIndex)
  Call Syori_FromTextBox(temps)
End Sub
************************************************************
標準モジュール
Public Sub Syori_FromTextBox(objTextBox As MSForms.TextBox)
  objTextBox.Text = "OK"
End Sub

この流れの中で、実際にUserForm1上のTextBoxをクリックするとクラスモジュールで
エラーになるのですが、回避方法が発見できません。
エラー修正のアドバイス、方法のご教授をお願いできませんでしょうか。
どうぞよろしくお願いします。

0 hits

【52863】クラスによるコントロールの配列処理 ハナ 07/12/7(金) 9:33 質問
【52867】Re:クラスによるコントロールの配列処理 ichinose 07/12/7(金) 11:34 発言
【52870】Re:クラスによるコントロールの配列処理 ハナ 07/12/7(金) 12:00 発言
【52871】Re:クラスによるコントロールの配列処理 ハナ 07/12/7(金) 12:34 お礼
【52888】Re:クラスによるコントロールの配列処理 ichinose 07/12/7(金) 22:36 発言

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