返回顶部
首页 > 资讯 > 精选 >VBS中数组怎么用
  • 136
分享到

VBS中数组怎么用

2023-06-08 08:06:18 136人浏览 独家记忆
摘要

这篇文章给大家分享的是有关VBS中数组怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例rem 定义 dim arr(5)  rem 赋值&nbs

这篇文章给大家分享的是有关VBS中数组怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

示例

rem 定义 dim arr(5)  rem 赋值 arr(0) = 20 arr(1) = 2 arr(2) = 5 arr(3) = 3 arr(4) = 1 arr(5) = 100  rem 访问 msgbox(arr(2))  rem 遍历 for each v in arr   msgbox(v) next

VBS数组在应用中没有像其他语句那么广泛,VBS数组存在不少功能上的局限性(如二维数组的定义、赋值),在使用上也没有java等语言那么便捷。下面来具体讲解下几个数组函数的使用方式:

Array 函数

     返回包含数组的 Variant。

Array(arglist)

     arglist 参数是赋给包含在 Variant 中的数组元素的值的列表(用逗号分隔)。如果没有指定此参数,则将会创建零长度的数组。

说明

     用于引用数组元素的表示符,由跟随有括号的变量名组成,括号中包含指示所需元素的索引号。在下面的示例中,第一条语句创建名为 A 的变量。第二条语句将一个数组赋值给变量 A。最后一条语句将包含在第二个数组元素中的值赋值给另一个变量。

arr = array("t1","t2")MsgBox arr(0)MsgBox arr(1)

 注意 未作为数组声明的变量仍可以包含数组。虽然包含数组的 Variant 变量与包含 Variant 元素的数组变量有概念上的不同,但访问数组元素的方法是相同的。

IsArray 函数

返回 Boolean 值指明某变量是否为数组。

IsArray(varname)
varname 参数可以是任意变量。

说明

如果变量是数组,IsArray 函数返回 True;否则,函数返回 False。当变量中包含有数组时,使用 IsArray 函数很有效。

下面的示例利用 IsArray 函数验证 MyVariable 是否为一数组:

Dim MyVariableDim MyArray(3)MyArray(0) = "Sunday"MyArray(1) = "Monday"MyArray(2) = "Tuesday"MyVariable = IsArray(MyArray) ' MyVariable 包含 "True"。

UBound 函数
返回指定数组维数的最大可用下标。

UBound(arrayname[, dimension])
参数

arrayname

必选项。数组变量名,遵循标准变量命名规则。

Dimension

可选项。指定返回哪一维上界的整数。1 表示第一维,2 表示第二维,以此类推。如果省略 dimension 参数,则默认值为 1。

说明

UBound 函数与 LBound 函数一起使用,用于确定数组的大小。使用 LBound 函数可以确定数组某一维的下界。

所有维的下界均为 0。对于有这样维数的数组,UBound 函数返回以下结果:

Dim A(100,3,4)

语句

返回值

UBound(A, 1)

100

UBound(A, 2)

3

UBound(A, 3)

4

LBound 函数
返回指定数组维的最小可用下标。

LBound(arrayname[, dimension])
参数

arrayname

数组变量名,遵循标准变量命名规则。

Dimension

指明要返回哪一维下界的整数。使用 1 表示第一维,2 表示第二维,以此类推。如果省略 dimension 参数,默认值为 1。

说明

LBound 函数与 UBound 函数共同使用以确定数组的大小。使用 UBound 函数可以找到数组某一维的上界。任一维的下界都是 0。

arr = array("t1","t2","t3")For i=0 To UBound(arr)-LBound(arr) MsgBox arr(i)Next

Split 函数
返回基于 0 的一维数组,其中包含指定数目的子字符串

Split(expression[, delimiter[, count[, start]]])
参数

expression

必选项。字符串表达式,包含子字符串和分隔符。如果 expression 为零长度字符串,Split 返回空数组,即不包含元素和数据的数组。

delimiter

可选项。用于标识子字符串界限的字符。如果省略,使用空格 ("") 作为分隔符。如果 delimiter 为零长度字符串,则返回包含整个 expression 字符串的单元素数组。

count

可选项。被返回的子字符串数目,-1 指示返回所有子字符串。

Compare

可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。

设置

compare 参数可以有以下值:

常数

描述

vbBinaryCompare

0

执行二进制比较。

vbTextCompare

1

执行文本比较。

说明

下面的示例利用 Split 函数从字符串中返回数组。函数对分界符进行文本比较,返回所有的子字符串。

Dim MyString, MyArray, MsgMyString = "VBScriptXisXfun!"MyArray = Split(MyString, "x", -1, 1)' MyArray(0) 包含 "VBScript"。' MyArray(1) 包含 "is"。' MyArray(2) 包含 "fun!"。Msg = MyArray(0) & " " & MyArray(1)Msg = Msg & " " & MyArray(2)MsgBox Msg再如:stng = "t1,t2,t3"arr = Split(stng,",")MsgBox arr(0)MsgBox arr(1)MsgBox arr(2)

Join 函数
返回一个字符串,此字符串由包含在数组中的许多子字符串连接创建。

Join(list[,delimiter])
参数

list

必选项。包含要连接的子字符串一维数组。

Delimiter

可选项。在返回字符串中用于分隔子字符串的字符。如果省略,将使用空字符 ("")。如果 delimiter 是零长度字符串,则在同一列表中列出全部项,没有分界符。

下面的示例利用 Join 函数联合 MyArray 的子字符串:

Dim MyStringDim MyArray(3)MyArray(0) = "Mr."MyArray(1) = "John "MyArray(2) = "Doe "MyArray(3) = "III"MyString = Join(MyArray) 'MyString 包含 "Mr. John Doe III"。再如:arr = array("t1","t2","t3")MsgBox Join(arr,",")

上面主要对VBS中的相关函数进行了介绍,在实际工作中还经常会遇到一些特殊的处理,并且都十分的实用,下面一一进行举例说明:

例一:一维数组的比较

Dim aDim ba=Array(10,15,30)b=Array(10,20,30)      flag=1For i=0 To UBound(a)-LBound(a)  If a(i)=b(i) Then   flag=1  Else   flag=0   n=UBound(a)   msgbox "数组a"&n&":="&a(i)&","&"数组b"&n&":="&b(i)  End IfNext

例二:二维数组的比较

Dim array1(1,1)array1(0,0)=1array1(0,1)=2array1(1,0)=3array1(1,1)=4Dim array2(1,1)array2(0,0)=1array2(0,1)=2array2(1,0)=4array2(1,1)=4     flag=1For i=0 To 1 For j=0 To 1  If array1(i,j)=array2(i,j) Then   flag=1   Exit for  Else   flag=0   msgbox "array1"&"("&i&","&j&")"&"="&array1(i,j)&","&"array2"&"("&i&","&j&")"&"="&array2(i,j)  End If NextNext

例三:使用循环来比较数组里是否包含某值

Dim arr, i, strarr = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "f", "g")str = "a"For i = 0 To UBound(arr) If arr(i) = str Then  Exit For end ifNextIf i <= UBound(arr) Then msgbox "arr中包含str的值!" Else msgbox "arr中不包含str的值!"End If

例四:使用函数组合来比较数组里是否包含某值(优化逻辑)

Dim arr, i, strarr = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "f", "g")str = "a"If InStr(Join(arr, "|"), str) > 0 Then msgbox "arr中包含str的值!" Else msgbox "arr中不包含str的值!"End If

灵活应用各种函数命令,可以节约大量的多余代码,不仅精简代码结构,提供执行效率。

例五:VBS中数组作为函数的返回值

Function GenerateRandom() Dim myarray(2) Dim aa, bb, cc Dim myvalue, bbbase, ccbase  bbbase=array("Beijing", "NewYork", "Copenhagen", "Paris", "London", "Gothenborg") ccbase=array("China", "America", "Denmark", "Franch", "England", "Sweden") 'Get a number contains 8 characters aa= Int((99999999 - 11111111+ 1) * Rnd + 11111111) ' Get a number between 1 to 6 myvalue=Int((6 * Rnd) + 1) bb=bbbase(myvalue) cc=ccbase(myvalue) myarray(0)=CStr(aa) myarray(1)=bb myarray(2)=cc  GenerateRandom=myarray  End Function'****************************************************' Call the function Dim testarr testarr=GenerateRandommsgbox testarr(0)msgbox testarr(1) msgbox testarr(2)

例六:数组排序

Function fSortArray(aSortThisArray) Dim oArrayList, iElement Set oArrayList = CreateObject( "System.Collections.ArrayList" ) For iElement = 0 To UBound(aSortThisArray)  oArrayList.Add aSortThisArray(iElement) Next oArrayList.Sort set fSortArray = oArrayListEnd Function myarray=Array(50,20,30)MsgBox myarray(0)MsgBox fSortArray(myarray)(0) 'CreateObject( "System.Collections.ArrayList" )调用了mscoree.dll,是.net Framework相关组件。

感谢各位的阅读!关于“VBS中数组怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: VBS中数组怎么用

本文链接: https://lsjlt.com/news/253109.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • VBS中数组怎么用
    这篇文章给大家分享的是有关VBS中数组怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例rem 定义 dim arr(5)  rem 赋值&nbs...
    99+
    2023-06-08
  • vbscript中vbs数组Array怎么用
    这篇文章主要为大家展示了“vbscript中vbs数组Array怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vbscript中vbs数组Array怎么用”这篇文章吧。vbs数组定义和用法...
    99+
    2023-06-08
  • 怎么在VBS中使用 vbscript动态创建数组
    今天就跟大家聊聊有关怎么在VBS中使用 vbscript动态创建数组,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实例代码'建立动态数组Dim Arrl ...
    99+
    2023-06-08
  • 怎么用vbs从本地Administrators组中删除组
    本篇内容介绍了“怎么用vbs从本地Administrators组中删除组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!复制代码 代码如下:s...
    99+
    2023-06-08
  • VBS中有哪些数组函数
    今天就跟大家聊聊有关VBS中有哪些数组函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Array 函数返回包含数组的Variant。Array(arglist)参数:arglist...
    99+
    2023-06-08
  • VBS中formatdatetime函数怎么使用
    在VBS中,`FormatDateTime`函数用于将日期和时间值格式化为字符串。它的语法如下:```vbscriptFormatD...
    99+
    2023-09-20
    VBS
  • VBS如何实现ArrayList Class vbs中的数组类
    这篇文章主要为大家展示了“VBS如何实现ArrayList Class vbs中的数组类”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VBS如何实现ArrayList Class vbs中的数组...
    99+
    2023-06-08
  • 怎么在VBS中使用InputBox 函数
    这篇文章给大家介绍怎么在VBS中使用InputBox 函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。InputBox 函数在对话框中显示提示,等待用户输入文本或单击按钮,并返回文本框内容。InputBox(prom...
    99+
    2023-06-08
  • vbs中tli.tliapplication怎么用
    这篇文章主要介绍了vbs中tli.tliapplication怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。比如我想知道scrrun.dll(提供fso对象的dll)这...
    99+
    2023-06-08
  • vbs中SendKey怎么用
    这篇文章给大家分享的是有关vbs中SendKey怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。其使用格式为: object.SendKeys string "object":表示WshS...
    99+
    2023-06-08
  • 怎么在VBS中调用Windows API函数
    本篇文章给大家分享的是有关怎么在VBS中调用Windows API函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。代码如下:Dim WshShell set WshShell...
    99+
    2023-06-08
  • VBS中ShellExecute怎么使用
    在VBS(Visual Basic Script)中,可以使用ShellExecute方法打开外部程序或文件。ShellExecut...
    99+
    2023-09-11
    VBS ShellExecute
  • VBS中fso.createtextfile怎么使用
    在VBS中,您可以使用FileSystemObject对象的CreateTextFile方法来创建一个文本文件。下面是一个使用Cre...
    99+
    2023-08-09
    VBS
  • vbs 中怎么调用shell.application
    vbs 中怎么调用shell.application ,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Set os=CreateObject("wscri...
    99+
    2023-06-08
  • VBS中标识符怎么用
    这篇文章将为大家详细讲解有关VBS中标识符怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。VBS其实存在两种标识符: 普通标识符(NORMALIDENTIFIER) 中括号标识符(BRACKETIDE...
    99+
    2023-06-08
  • vbs中怎么禁用服务
    这篇文章给大家介绍vbs中怎么禁用服务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。问: 您好,脚本专家!如何禁用服务? -- DS 答: 您好,DS。您知道吗,脚本专家似乎无意中发现了一个好主意。在上期专栏...
    99+
    2023-06-08
  • javascript中数组怎么用
    这篇文章主要为大家展示了“javascript中数组怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript中数组怎么用”这篇文章吧。1. 删除...
    99+
    2024-04-02
  • php中数组怎么用
    这篇文章将为大家详细讲解有关php中数组怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。     //1 将key值大小替换 ...
    99+
    2024-04-02
  • VBS中怎么调用CAPICOM对象
    VBS中怎么调用CAPICOM对象,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 代码如下:Const CAPICOM_HASH_ALGORITHM_M...
    99+
    2023-06-08
  • VBS中FileSystemObject对象怎么使用
    在VBS中,可以通过以下步骤来创建和使用FileSystemObject对象:1. 首先,在VBScript代码中创建一个FileS...
    99+
    2023-08-12
    VBS FileSystemObject
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作