[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『[書き直し]モーダレスモードで動的コントロールのイベントを発動させたい』(misskabu)
先ほど質問を纏める様にご指摘いただきましたので
テストコードを作って動作確認の上再掲いたします。
以下のようにボタンを動的に生成したいのですが、
makeForm1()のようにvbModalでフォームを呼ぶと
myButton_Click()イベントが発生しますが、
makeForm2()のようにvbModelessだと動きません。
モーダレスモードで動的コントロールのイベントを
発動できないものでしょうか?
'UserForm1はコードも実行前のプロパティも一切手を加えていません。
'/////////////////////////////////////////////////////
'Class1
Option Explicit
Public WithEvents myButton As CommandButton
Private Sub myButton_Click()
Debug.Print "ボタンが押されました" MsgBox "ボタンが押されました" End Sub
'//////////////////////////////////////////////////
'標準モジュール
Option Explicit
Public Sub makeForm1()
Dim newButton As New Class1 Dim btn As Control Set btn = UserForm1.Controls.Add("Forms.CommandButton.1") Set newButton.myButton = btn UserForm1.Show vbModal End Sub
Public Sub makeForm2()
Dim newButton As New Class1 Dim btn As Control Set btn = UserForm1.Controls.Add("Forms.CommandButton.1") Set newButton.myButton = btn UserForm1.Show vbModeless End Sub '/////////////////////////////////////////////////////////
< 使用 Excel:Excel2007、使用 OS:Windows10 >
(misskabu) 2017/03/17(金) 20:03
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.