yefanqiu(叶帆) :你好,我是说动态执行的代码能否与动态代码外的变量传值?
例如:
Private Sub Command1_Click()
Dim res As Boolean
dim var as single
res = ExecuteLine("var=1.7:msgbox var") '这里面msgbox引用var可以成功(=1.7)
msgbox var '这里仍然是var=0!!!我想要的就是这里var也被赋值1.7
End Sub
' ¶ÔÓÚ VB6
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
' ¶ÔÓÚ Access 97/VBE.dll clients like Word 97 and Excel 97
' Private Declare Function EbExecuteLine Lib "vba332.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 Combo1_Click()
Text1 = Combo1.Text
End Sub
Private Sub Command1_Click()
Dim res As Boolean
res = ExecuteLine(Text1.Text)
End Sub