在VBA中使用JAVASCRIPT和VBSCRIPT(1)
javascript有许多函数和功能可以弥补VBA不足,如正则,数组,类,等等
1)以数组为例,用JAVASCRIPT排序
Sub fig8()
Set x = CreateObject(\x.Language = \
arr = Array(\kk = Join(arr, \
x.addcode \cc = x.eval(\MsgBox cc End Sub
2)1)以数组为例,用JAVASCRIPT倒序 Sub fig8()
Set x = CreateObject(\x.Language = \
arr = Array(\kk = Join(arr, \
x.addcode \cc = x.eval(\MsgBox cc
End Sub
用VBSCRIPT的简单例子
Sub fig8()
Set x = CreateObject(\x.Language = \
x.addcode \x.Run \End Sub
以前需要分开好几个模块,函数,现在可以统统放在一起了。。。。。 Sub fig8()
Set x = CreateObject(\x.Language = \
x.addcode \aa(): msgbox \sub : sub bb:msgbox 3:end sub :sub cc: msgbox \x.Run \x.Run \x.Run \
End Sub
自定义函数的用法 Sub fig8()
Set x = CreateObject(\x.Language = \
x.addcode \
bb = x.Run(\MsgBox bb
End Sub
动态改变窗口,文本框,单元格,range属性, '本例改[A1:z888]单元格为红色 Sub fig88()
Set X = CreateObject(\X.Language = \
X.addcode \X.ADDOBJECT \X.Run \
End Sub
设置和调用全局变量 Sub figvb()
Set x = CreateObject(\
x.Language = \
x.addcode \x.Run \
b = x.codeobject.x MsgBox b End Sub
代码放在单元格里不再是笑话:) Sub figvbs()
Set x = CreateObject(\ x.Language = \ [a1] = \ [a2] = \
[a3] = \ For i = 1 To 3
x.executestatement Cells(i, 1) Next End Sub
新建类可以不再需要类模块 Sub figvbs()
Set X = CreateObject(\ X.Language = \
X.ADDCODE \类模块\ X.ADDCODE \ Set RR = X.EVAL(\ RR.TEST End Sub
表达式可以直接拿来运算 Sub aa()
Set X = CreateObject(\X.Language = \Dim ARR(2) ARR(0) = \ARR(1) = \ARR(2) = \KK = Join(ARR, \
BB = X.EXECUTESTATEMENT(\
KK = Join(ARR, \
BB = X.EXECUTESTATEMENT(\End Sub
msgbox ,inputbox 也可以作为变量 Sub figtest1()
Set x = CreateObject(\x.Language = \aa = \bb = \For i = 1 To 4
If i Mod 2 = 0 Then kk = aa & \Else
kk = bb & \End If
x.executestatement (kk) Next End Sub
字符串加密(md5) Sub figtest1()
Set X = CreateObject(\X.Language = \
X.ADDCODE \y= CreateObject(\=3:\
\BB = X.Run(\
MsgBox \字符 FIGFIG 加密后是: \
End Sub
数组也可以随意切割了 Sub JSArraySample()
Set objJS = CreateObject(\
With objJS
.Language = \
.AddCode \
End With
文字列 = \
Set b = objJS.CodeObject.JSSplit(文字列, \' '数组也可以随意切割了
MsgBox b.slice(0, 1) MsgBox b.slice(1, 2) MsgBox b.slice(2, 5)
End Sub
功能更加强大的正则表达式 Sub figexp()
Set js = CreateObject(\ js.Language = \
script = \ result = js.eval(script) MsgBox result
End Sub
jscript返回的对象应该是一个数组,可以在VB直接调用相关函数,但又可以直接显示所有元素
Sub Mytest()
Set sp1 = CreateObject(\ sp1.Language = \
s = \ '顺序 sp1.AddCode s
aa = Array(\张\王\李\赵\钱\孙\周\吴\郑\王\Set bb = sp1.codeobject.sortarr(aa) MsgBox bb
MsgBox bb.slice(1, 4)
MsgBox bb.concat(\bb.push (\MsgBox bb
End Sub
数组非交集 Sub figjs() arr1 = [a2:a11] arr2 = [b2:b6]
Set x = CreateObject(\x.Language = \
x.eval (\Set arr3 = x.eval(\
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库在VBA中使用JAVASCRIPT和VBSCRIPT在线全文阅读。
相关推荐: