Do Until EOF(1)
Line Input #1, strline
strtmp = IIf(Len(strtmp) = 0, strline, strtmp & vbCrLf & strline)
Loop
Close #1
With ScriptControl1
.Language = "VBScript"
.Reset
.AddCode strtmp
.AddObject "List", List1, True
'.AddObject "Text", Text2, True
.Run "main"
End With
Next
Line Input #1, strline
strtmp = IIf(Len(strtmp) = 0, strline, strtmp & vbCrLf & strline)
Loop
Close #1
With ScriptControl1
.Language = "VBScript"
.Reset
.AddCode strtmp
.AddObject "List", List1, True
'.AddObject "Text", Text2, True
.Run "main"
End With
Next
解决方案 »
- MSCHART如何显示图形的时候同时显示数据表?
- 有关溢出问题
- 各位高手,我想做一个小系统,能够将.txt的文件转成htm格式的文件
- 请教一个添加记录的问题
- 高分求教:如何将richtextbox与数据库关联起来?
- Vb中的内码在 Unicode 和 GBK 还有 BIG5之间的转换,
- 部件中没有"Microsoft Data Bound Grid Control 5.0", 为什么?
- 高分求教,用vb如何实现windows任务管理器中的应用程序列表一样功能,谢谢。
- VBScript 高手请看----奇怪的问题
- OLD_VB_FAN(蓝星) 我不知如何给你分!
- VBA Function的返回值能不能是Dictionary
- VB WebBrowser控件搜索网站内容
上面为我的脚本文件。我就是想在脚本中调用函数waittime,但是搞不好
Calss ServerClass
Public Function URLEncode(strText)
...
End Function
End Class
Set Server = New ServerClass
然后再加载目标脚本数据,如:
outText = Server.URLEncode("测试内容")以这种方式来扩展脚本,当然,还可进行文本替换或变量值提取等方式去处理脚本,甚至可以自己去解析脚本,这就看你的需求而言了。比如你说的想通过脚本来让VB得到相关参数,这需要VB主动去读取运行脚本后的变量值,如脚本内容为:
Test1 = 300
VB 里可以通过对象属性读出脚本变量值,如:
Msgbox ScriptControl1.CodeObject.Test1当然,还可在脚本中放置更为复杂的过程,VB里还可分析脚本代码然后再提取代码来分析执行,至于怎么做,方法有很多,这就要你自己慢慢做了,我只能给你个方向,具体的还要靠你自己
不过我另外找到办法了
感谢你的耐心回答。谢谢
下面这段就是我原有的实现方法。
1——————————————————————————————
Set sc1 = CreateObject("ScriptControl")
sc1.Language = "VBScript"
With sc1 'sc1 'ScriptControl1
strCode = "Option Explicit"
strCode = strCode & vbNewLine & "Sub main(AddressArray)" strCode = strCode & vbNewLine & "Dim WshShell,UserWrap"
strCode = strCode & vbNewLine & "Set UserWrap = CreateObject(""DynamicWrapper"")" 'UserWrap.EnumWindows
strCode = strCode & vbNewLine & "UserWrap.Register ""USER32.DLL"",""EnumWindows"",""I=ll"", ""f=s"", ""R=l"""
strCode = strCode & vbNewLine & "UserWrap.Register ""kernel32.DLL"", ""Sleep"", ""I=l"", ""f=s"", ""R=l"""
strCode = strCode & vbNewLine & ""
strTXT = LCase(txt1.Text)
strTXT = Replace(strTXT, ",", ",")
strTXT = Replace(strTXT, "“", """")
strTXT = Replace(strTXT, "”", """")
strTXT = Replace(strTXT, "sleep", "UserWrap.Sleep")
strTXT = Replace(strTXT, "print1", "UserWrap.EnumWindows AddressArray(0)")
strTXT = Replace(strTXT, "print2", "UserWrap.EnumWindows AddressArray(1)")
strCode = strCode & vbNewLine & strTXT
strCode = strCode & vbNewLine & ""
strCode = strCode & vbNewLine & "set WshShell =Nothing"
strCode = strCode & vbNewLine & "set UserWrap =Nothing"
strCode = strCode & vbNewLine & "If Err.Number <> 0 Then"
strCode = strCode & vbNewLine & "msgbox err.number , err.description , err.source"
strCode = strCode & vbNewLine & "end if"
strCode = strCode & vbNewLine & "End Sub"
.Reset
.AddCode strCode
initAddressArray
.Run "main", AddressArray
End With2 txt1中的内容————————————————————
dim i
for i=1 to 33
print1, i
print2, i
sleep 100
next3 模块中的内容_______________________________________
Public AddressArray(1) As VariantPublic Sub Print1(ByVal lng As Long, ByVal str As Long)
frmTXT.lbl1.Caption = "显示:" & str
frmTXT.Refresh
End SubPublic Sub Print2(ByVal lng As Long, ByVal str As Long)
frmTXT.lbl2.Caption = "结果:" & str
frmTXT.Refresh
End SubPublic Sub initAddressArray()
save AddressOf Print1, 0
save AddressOf Print2, 1
End Sub
Public Sub save(address, index As Integer)
AddressArray(index) = address
End Sub______________________________________