tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル VBA コントロールに付加したイベントが働かない
投稿日: 2015/09/15(Tue) 19:52
投稿者わごなる
お世話になります。

Office2013 VBAで動的にコンボボックスを作成し、イベントを割り付けることが目的です。

Workbook_Openにおけるコンボボックスの項目Add回路ではChangeなりClickイベントが発生していますが、
それ以降コンボボックスをどのように操作してもイベントが発生しません。
問題点がわかる方いらっしゃいましたらご教授頂きたいです。

現コードは下記の通りです。


※Workbook_Open内の関数でCmbMakeをCall

Sub CmbMake()

    Dim cmbPos As Range
    Dim m_objOLE_C As Object
    Dim objcmb As ComboBox

    'コンボボックスの位置を指定
    Set cmbPos = Range(A3)

    'コンボボックスを作成
    Set m_objOLE_C = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
       Link:=False, DisplayAsIcon:=False, Left:=cmbPos.Left, _
       Top:=cmbPos.Top, Width:=cmbPos.Width, height:=cmbPos.height)
    
    Set objcmb = ActiveSheet.OLEObjects(m_objOLE_C.Name).Object
    objcmb.Locked = False

    Set NewObj = New clsObjectIvent
    Set NewObj.CMB = objcmb

    With objcmb
        'プロパティ変更
       .AddItem "選択肢1", 0
       .AddItem "選択肢2", 1
       .BackStyle = fmBackStyleOpaque
       .BackColor = RGB(200, 250, 250)
        .Style = fmStyleDropDownList
       .ListIndex = 0
    End With
                
End Sub


−−−−−−−−−−−−−−−−−−−−−−−−−−
※クラスモジュール「clsObjectIvent」に下記コード
Option Explicit
Public WithEvents cmbBox As MSForms.ComboBox

Public Property Set CMB(InstComboBox As MSForms.ComboBox)
  Set cmbBox = InstComboBox
End Property

Public Property Get CMB() As MSForms.ComboBox

End Property
'確認用にイベント複数定義
Private Sub cmbBox_Change()
     MsgBox "cmbBox_Change"
End Sub
Private Sub cmbBox_Click()
     MsgBox "cmbbox_Click"
End Sub
Private Sub cmbBox_LostFocus()
     MsgBox "cmbbox_LostFocus"
End Sub

Private Sub cmbBox_AfterUpdate()
     MsgBox "cmbbox_AfterUpdate"
End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。