用VBScript产生和执行移动控件的脚本
简介:
1.按照图添加和摆放好所有控件
2.把FrmWork及其内容复制一次。产生一个相同的控件组。FrmWork内的控件就都成了控件数组。3.在CobChoice中添加“向右边走”和“向左边走”
4.TxtScript设置成MultiLine=True;ScrollBars = 3 - Both
操作:
1.(Combo控件)在CobChoice中选择方向
2.(Option控件)OptCollect点击激活
3.(Command控件)点击CmdScript生成脚本
4.(Command控件)点击CmdStart运行脚本
控件摆放:
代码部分:
声明
Option Explicit
Dim StrScript As String
Dim Number As Long
加载
Private Sub Form_Load()
Dim i As Long
For i = 0 To FrmWork.UBound
FrmWork(i).Caption = i
Next i
End Sub
按下生成脚本按钮代码
Private Sub CmdScript_Click()
Dim StrContent As String
Dim StrStart As String
Dim StrEnd As String
Static Num As Long
Dim i As Long
Num = Num + 1 '以后用在对应角色上
StrStart = "Function Main" & Num & "()" & vbCrLf 'Num是生成脚本的编号
For i = 0 To OptCollect.UBound
If OptCollect(i).Value = True Then '激活的。自定义先后顺序以后再说
If CobChoice(i).ListIndex = 0 Then
Debug.Print CobChoice(i).ListIndex
StrContent = StrContent + "FrmWork.Shape1.Left = FrmWork.Shape1.Left+100" & vbCrLf
End If
If CobChoice(i).ListIndex = 1 Then
Debug.Print CobChoice(i).ListIndex
StrContent = StrContent + "FrmWork.Shape1.left = FrmWork.Shape1.left - 100" & vbCrLf
End If
End If
Next i
StrEnd = "End Function"
StrScript = StrStart + StrContent + StrEnd
TxtScript = StrScript
Number = Num
End Sub
按下运行脚本按钮代码
Private Sub CmdStart_Click()
Dim ScriptControl1
Set ScriptControl1 = CreateObject("ScriptControl")
ScriptControl1.language = "VBScript"
ScriptControl1.AddObject "FrmWork", Me, True '移动控件必须内容
ScriptControl1.AddCode StrScript
ScriptControl1.Run "Main" & Number
End Sub