| 
    
     |  | VBA勉強中の者です。よろしくお願いいたします。 
 UserFormを右クリックするとメニューが現れ、その中の項目を選択すると
 マクロが実行されるというものをつくる場合・・・・・・。
 とりあえす以下のコードを考えました。
 
 
 ///////// UserForm1 フォームモジュール //////////////////////////
 
 Dim myCB As CommandBar
 
 Private Sub UserForm_Initialize()
 
 On Error Resume Next
 CommandBars("tbMenu").Delete
 On Error GoTo 0
 
 Set myCB = CommandBars.Add(Name:="tbMenu", _
 Position:=msoBarPopup, Temporary:=True)
 
 With myCB
 With .Controls.Add(Type:=msoControlButton)
 .Caption = "第1次変換モード"
 .OnAction = "FirstStringConv"
 End With
 
 With .Controls.Add(Type:=msoControlButton)
 .Caption = "第2次変換モード"
 .OnAction = "SecondStringConv"
 .BeginGroup = True
 End With
 End With
 
 End Sub
 
 
 Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As  Integer, ByVal X As Single, ByVal Y As Single)
 
 If Button = 2 Then
 myCB.ShowPopup
 End If
 
 
 End Sub
 
 
 Private Sub UserForm_Terminate()
 
 On Error Resume Next
 CommandBars("myCB").Delete
 On Error GoTo 0
 
 End Sub
 
 
 以上実行すると、フォームを右クリックするとメニューが表示され、
 そのメニューから項目を選択すると標準モジュール内のプロシージャ
 [ FirstStringConv ] 、[ condStringConv ] を呼び出せました。
 
 ここからが質問なのですが、このメニューから標準モジュール内では
 なく、フォームモジュール内に書かれてあるプロシージャを呼び出す
 という場合には、 .OnAction = の次にどのような書き方で実行したい
 プロシージャ名を指定すればよいのでしょうか?
 
 さっぱりわかりません。
 どなたかご指導お願いいたします。
 
 |  |