7,763
社区成员
发帖
与我相关
我的任务
分享
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
Public 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 j As String, i As Integer
Dim k As Integer, fj
i = 2 '-------------测试i=1或i=2
j = "i=1"
fj = Split(j, "=")
Select Case fj(0)
Case "i"
j = fj(1) = i
Case "k"
j = fj(1) = k
'case .........
End Select
If j Then
MsgBox True
Else
MsgBox False
End If
End Sub
'使用 Microsoft Script Control 1.0
Option Explicit
Private Sub Command1_Click()
Dim i As Long
Dim j As String
'i = 1
i = 2
j = "i=1"
ScriptControl1.Reset
ScriptControl1.AddCode "const i = " & i
If ScriptControl1.Eval(j) Then
MsgBox "真"
Else
MsgBox "假"
End If
End Sub
Private Sub Form_Load()
ScriptControl1.Language = "vbscript"
End Sub
Dim script As New MSScriptControl.ScriptControl
script.Language = "javascript"
Dim str As String
str = "function test() {" & vbNewLine
str = str & "var i; " & vbNewLine
str = str & "i=1; " & vbNewLine '给i赋值
str = str & " return (i==1); " & vbNewLine
str = str & "}"
str = str & "test(); " '执行,返回的是执行结果
MsgBox script.Eval(str)