0
Private Sub FKeyButton_Click(Index As Integer)

    Dim curChild As Form
    Set curChild = frmMain.ActiveForm

    Dim funcStr As String
    Dim funcStrA(3) As String
    funcStrA(0) = "F"
    funcStrA(1) = str(Index)
    funcStrA(2) = "_Click"

    funcStr = Join(funcStrA, "")

    If ExistsFunction(funcStr, curChild) Then
        CallByName curChild, funcStr, VbMethod
    End If

End Sub

その結果、ボタンがクリックされると、実際のmdichildの関数が呼び出されるはずです。

たとえば、インデックスが「7」のボタンがクリックされた場合、文字列「funcStr」の値は「F7_Click」になります。ただし、値は「F 7_Click」であり、existfunctionはfalseを返します。

問題は結合内にあると思いますが、私もトリミングしようとしましたが、効果はありません。

4

1 に答える 1

3

実は、私の記憶が正しければ、それはStr()機能です。記号のプレースホルダーとしてスペースを先頭に追加します。を使用するか、直接CStr()割り当てて、暗黙的に文字列に変換します。IndexfuncStrA(1)

于 2012-09-05T11:52:08.360 に答える