还是叶帆的方法好,简化一下:
Option Explicit
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long
Private Sub Command1_Click()
Call EbExecuteLine(StrPtr(Text1 & ".show"), 0&, 0&, 0&)
End Sub
'这个可以,不过要慢一些
Option Explicit
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long
Private Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
Private Sub Command1_Click()
Dim res As Boolean
dim aaa as string
aaa="frm1"
res = ExecuteLine(aaa & ".show")
End Sub