多くの同一のオブジェクトを含む、同様に構築されたユーザーフォームがたくさんあります。私のラベル (50 を超える数) については、dblClick イベントを作成して、ユーザーがキャプションを変更できるようにしました。これは問題なく動作していますが、コードを改善する方法があるかどうか疑問に思っています。
異なるオブジェクトで同じイベントを処理するためだけに、同じコードのコピーを何十回も作成しないようにする方法はありますか?
これが私のコードです:
Private Sub Item1_Label_dblClick(ByVal Cancel as MSForms.ReturnBoolean)
Item1_Label.Caption = InputBox("blah?", "blah", Item1_Label.Caption)
if Item1_Label.Caption = "" Then Item1_Label.Caption = "Item 1"
End Sub
Private Sub Item2_Label_dblClick(ByVal Cancel as MSForms.ReturnBoolean)
Item2_Label.Caption = InputBox("blah?", "blah", Item2_Label.Caption)
if Item2_Label.Caption = "" Then Item2_Label.Caption = "Item 2"
End Sub
Private Sub Item3_Label_dblClick(ByVal Cancel as MSForms.ReturnBoolean)
Item3_Label.Caption = InputBox("blah?", "blah", Item3_Label.Caption)
if Item3_Label.Caption = "" Then Item3_Label.Caption = "Item 3"
End Sub
'etcetera etcetera
ユーザーフォームには、これらのクローンコード行が 50 行以上あります。もっと良い方法があると思いますが、Class EventHandler を使って調べたところ、自分の目的に適用する方法がわかりませんでした。
この繰り返しコードを防ぐ方法はありますか?
ありがとう、
エリアス