vb函数大全 终结版.docx
《vb函数大全 终结版.docx》由会员分享,可在线阅读,更多相关《vb函数大全 终结版.docx(71页珍藏版)》请在冰豆网上搜索。
vb函数大全终结版
1.Abs函数返回参数的绝对值,其类型和参数相同
语法:
Abs(number)
必要的number参数是任何有效的数值表达式,如果number包含Null,则返回Null,如果number是未初始化的变量,则返回0。
说明
一个数的绝对值是将正负号去掉以后的值。
例如,ABS(-1)和ABS
(1)都返回1。
2.Array函数返回一个包含数组的Variant。
语法:
Array(arglist)
所需的arglist参数是一个用逗号隔开的值表,这些值用于给Variant所包含的数组的各元素赋值。
如果不提供参数,则创建一个长度为0的数组。
说明
用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。
在下面的示例中,
DimAAsVariant创建一个Variant的变量A
A=Array(10,20,30)将一个数组赋给变量A
B=A
(2)将该数组的第二个元素的值赋给另一个变量
使用Array函数创建的数组的下界受OptionBase语句指定的下界的决定,除非Array是由类型库(例如VBA.Array)名称限定。
如果是由类型库名称限定,则Array不受OptionBase的影响。
注意没有作为数组声明的Variant也可以表示数组。
除了长度固定的字符串以及用户定义类型之外,Variant变量可以表示任何类型的数组。
尽管一个包含数组的Variant和一个元素为Variant类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。
Array函数示例:
该示例使用Array函数来返回一个包含Variant的数组。
DimMyWeek,MyDay
MyWeek=Array("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
'返回值假设下界的设置为1(使用OptionBase语句)。
MyDay=MyWeek
(2)'MyDay的值为"Tue"。
MyDay=MyWeek(4)'MyDay的值为"Thu"。
3.Asc函数返回一个Integer,代表字符串中首字母的字符代码。
语法:
Asc(string)
必要的string参数可以是任何有效的字符串表达式。
如果string中没有包含任何字符,则会产生运行时错误。
说明:
在非DBCS系统下,返回值范围为0–255。
在DBCS系统下,则为-32768–32767。
注意AscB函数作用于包含在字符串中的字节数据,AscB返回第一个字节的字符代码,而非字符的字符代码。
AscW函数返回Unicode字符代码,若平台不支持Unicode,则与Asc函数功能相同。
Asc函数示例本示例使用Asc函数返回字符串首字母的字符值(ASCII值)。
DimMyNumber
MyNumber=Asc("A")'返回65。
MyNumber=Asc("a")'返回97。
MyNumber=Asc("Apple")'返回65。
4.Atn函数返回一个Double,指定一个数的反正切值.
语法:
Atn(number)
必要的number参数是一个Double或任何有效的数值表达式。
说明:
Atn函数的参数值(number)为直角三角形两边的比值并返回以弧度为单位的角。
这个比值是角的对边长度除以角的邻边长度之商。
值的范围在-pi/2和pi/2弧度之间。
角度转换为弧度,角度乘以pi/180;弧度转换为角度,弧度乘以180/pi。
注意?
Atn是Tan的反三角函数,Tan的参数值为角度,返回直角三角形的两条边的比值。
不要将Atn和余切函数混淆,
余切函数值是正切函数值的倒数,cotangent=(1/tangent)。
5.CallByName函数执行一个对象的方法,或者设置或返回一个对象的属性.
语法:
CallByName(object,procedurename,calltype,[arguments()])
部分
描述
object
必需的;变体型(对象)。
函数将要执行的对象的名称。
procedurename
必需的;变体型(字符串)。
一个包含该对象的属性名称或者方法名称的字符串表达式。
calltype
必需的;常数。
一个vbCallType类型的常数,代表正在被调用的过程的类型。
arguments()
可选的:
变体型(数组)。
说明:
CallByName函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一个方法。
请看以下3个例子:
a使用CallByName来设置一个文本框的MousePointer属性:
CallByNameText1,"MousePointer",vbLet,vbCrosshair
b得到MousePointer属性的值:
Result=CallByName(Text1,"MousePointer",vbGet)
c调用Move方法来移动文本框
CallByNameText1,"Move",vbMethod,100,100
6.Choose函数从参数列表中选择并返回一个值.
语法:
Choose(index,choice-1[,choice-2,...[,choice-n]])
部分
描述
index
必要参数,数值表达式或字段,它的运算结果是一个数值,且界于1和可选择的项目数之间。
choice
必要参数,Variant表达式,包含可选择项目的其中之一。
说明
Choose会根据index的值来返回选择项列表中的某个值。
如果index是1,则Choose会返回列表中的第1个选择项,以此类推。
可以使用Choose来查阅一个列表中的项目。
例如,如果index所指定的值为3,而choice-1="one"、choice-2="two"、且choice-3="three",那么Choose将返回"three"。
当index代表一选项组中的值时,则这项功能将会特别有用。
即使它只返回一个选项值,Choose仍然会计算列表中的每个选择项。
所以应该注意到这项副作用。
例如,当在每个选择项表达式中使用了MsgBox函数作为其中的一部分时,每计算一个选择项,就会显示一次消息框。
当index小于1或大于列出的选择项数目时,Choose函数返回Null。
如果index不是整数,则会先四舍五入为与其最接近的整数。
7.Chr函数返回String,其中包含有与指定的字符代码相关的字符.
语法:
Chr(charcode)
必要的charcode参数是一个用来识别某字符的Long。
说明:
0到31之间的数字与标准的非打印ASCII代码相同。
例如,Chr(10)可以返回换
行字符。
charcode的正常范围为0–255。
然而,在DBCS系统,charcode的实际范
围为-32768到65535。
注意?
ChrB函数作用于包含在String中的字节数据。
ChrB总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。
ChrW函数返回包含Unicode的String,若在不支持Unicode的平台上,则其功能与Chr函数相同。
8.Cos函数返回一个Double,指定一个角的余弦值.
语法Cos(number)
必要的number参数是一Double或任何有效的数值表达式,表示一个以弧度为单位的角。
说明:
Cos函数的参数为一个角,并返回直角三角形两边的比值。
该比值为角的邻边长度除以斜边长度之商。
结果的取值范围在-1到1之间。
9.CreateObject函数创建并返回一个对ActiveX对象的引用.
语法:
CreateObject(class,[servername])
部分
描述
class
必需的;Variant(String).要创建的应用程序名称和类。
servername
可选的;Variant(String).要在其上创建对象的网络服务器名称。
class参数使用appname.objecttype这种语法,包括以下部分:
部分
描述
appname
必需的;Variant(字符串)。
提供该对象的应用程序名。
objecttype
必需的;Variant(字符串)。
待创建对象的类型或类。
说明
每个支持自动化的应用程序都至少提供一种对象类型。
例如,一个字处理应用程序可能会提供Application对象,Document对象,以及Toolbar对象。
要创建ActiveX对象,只需将CreateObject返回的对象赋给一个对象变量:
'声明一个对象变量来存放该对象的引用。
Dim…asObject采用后期绑定方式。
DimExcelSheetAsObject
SetExcelSheet=CreateObject("Excel.Sheet")
上述代码将启动该应用程序创建该对象,在本例中就是创建一个MicrosoftExcel电子数据表。
对象创建后,就可以在代码中使用自定义的对象变量来引用该对象。
在下面的示例中,可以使用对象变量ExcelSheet来访问新建对象的属性和方法,以及访问MicrosoftExcel的其它对象,包括应用程序对象和单元格集合。
'设置Application对象使Excel可见
ExcelSheet.Application.Visible=True
'在表格的第一个单元中写些文本
ExcelSheet.Cells(1,1).Value="ThisiscolumnA,row1"
'将该表格保存到C:
\test.doc目录
ExcelSheet.SaveAs"C:
\TEST.DOC"
'使用应用程序对象的Quit方法关闭Excel。
ExcelSheet.Application.Quit
'释放该对象变量
SetExcelSheet=Nothing
使用AsObject子句声明对象变量,可以创建一个能包含任何类型对象引用的变量。
不过,该变量访问对象是后期绑定的,也就是说,绑定在程序运行时才进行。
要创建一个使用前期绑定方式的对象变量,也就是说,在程序编译时就完成绑定,则对象变量在声明时应指定类ID。
例如,可以声明并创建下列MicrosoftExcel引用:
DimxlAppAsExcel.Application
DimxlBookAsExcel.Workbook
DimxlSheetAsExcel.WorkSheet
SetxlApp=CreateObject("Excel.Application")
SetxlBook=xlApp.Workbooks.Add
SetxlSheet=xlBook.Worksheets
(1)
前期绑定的变量引用可以提供更好的性能,但该变量只能存放声明中所指定的类的引用。
可以将CreateObject函数返回的对象传给一个参数为对象的函数。
例如,下面的代码创建并传递了一个Excel.Application对象的引用:
CallMySub(CreateObject("Excel.Application"))
可以在一个远端连网的计算机上创建一个对象,方法是把计算机的名称传递给CreateObject的servername参数。
这个名称与共享名称的机器名部份相同:
对于一个共享名称为"\\\\MyServer\\Public,"的servername参数是"MyServer"。
下面代码返回在一个名为MyServer的远端计算机上运行的Excel实例版本号:
DimxlAppAsObject
SetxlApp=CreateObject("Excel.Application","MyServer")
Debug.PrintxlApp.Version
如果远端服务器不存在或者不可用,则会发生一个运行时错误。
注意当该对象当前没有实例时,应使用CreateObject。
如果该对象已有实例在运行,就会启动一个新的实例,并创建一个指定类型的对象。
要使用当前实例,或要启动该应用程序并加载一个文件,可以使用GetObject函数。
如果对象已登记为单个实例对象,则不管执行多少次CreateObject,都只能创建该对象的一个实例。
CreateObject函数示例
该示例使用CreateObject函数设置一个对MicrosoftExcel的引用(xlApp)。
它使用该引用来访问MicrosoftExcel的Visible属性,并使用MicrosoftExcel的Quit方法将其关闭,最后再释放该引用。
DimxlAppAsObject'定义存放引用对象的变量。
SetxlApp=CreateObject("excel.application")
'如果要让该应用程序可见,则需将Visible属性设为True。
xlApp.Visible=True
'可以使用xlApp访问MicrosoftExcel的其它对象。
xlApp.Quit'完成时,调用Quit方法关闭
SetxlApp=Nothing'该应用程序,然后释放该引用。
10.CurDir函数返回一个Variant(String),用来代表当前的路径.
语法CurDir[(drive)]
可选的drive参数是一个字符串表达式,它指定一个存在的驱动器。
如果没有指定驱动器,或drive是零长度字符串(""),则CurDir会返回当前驱动器的路径。
CurDir函数示例
本示例使用CurDir函数来返回当前的路径。
'假设C驱动器的当前路径为“C:
\WINDOWS\SYSTEM”。
'假设D驱动器的当前路径为“D:
\EXCEL”。
'假设C为当前的驱动器。
DimMyPath
MyPath=CurDir'返回“C:
\WINDOWS\SYSTEM”。
MyPath=CurDir("C")'返回“C:
\WINDOWS\SYSTEM”。
MyPath=CurDir("D")'返回“D:
\EXCEL”。
11.Date函数返回包含系统日期的Variant(Date)
语法:
Date
说明:
为了设置系统日期,请使用Date语句。
Date函数示例--使用Date函数返回系统当前的日期。
DimMyDate
MyDate=Date'MyDate的值为系统当前的日期。
12.DateAdd函数
返回包含一个日期的Variant(Date),这一日期还加上了一段时间间隔。
语法:
DateAdd(interval,number,date)
DateAdd函数语法中有下列命名参数:
部分
描述
interval
必要。
字符串表达式,是所要加上去的时间间隔。
number
必要。
数值表达式,是要加上的时间间隔的数目。
其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。
date
必要。
Variant(Date)或表示日期的文字,这一日期还加上了时间间隔。
设置interval参数具有以下设定值:
设置
描述
yyyy
年
q
季
m
月
y
一年的日数
d
日
w
一周的日数
ww
周
h
时
n
分钟
s
秒
说明
可以使用DateAdd函数对日期加上或减去指定的时间间隔。
例如,可以用DateAdd来计算距今天为三十天的日期;或者计算距现在为45分钟的时间。
为了对date加上“日”,可以使用“一年的日数”(“y”)等等。
。
。
DateAdd函数将不返回有效日期。
在以下实例中将1月31日加上一个月:
DateAdd(m,1,31-Jan-95)
上例中,DateAdd返回1995年2月28日,而不是1995年2月31日。
如果date是1996年1月31日,则由于1996年是闰年,返回值是1996年2月29日。
如果计算的日期超前100年(减去的年度超过date中的年份),就会导致错误发生。
如果number不是一个Long值,则在计算时取最接近的整数值来计算。
注意DateAdd返回值的格式由ControlPanel设置决定,而不是由传递到date参数的格式决定。
示例本示例先取得一个日期,再用DateAdd函数显示未来数月后的日期。
DimFirstDateAsDate'声明变量。
DimIntervalTypeAsString
DimNumberAsInteger
DimMsg
IntervalType="m"'"m"指定以“月份”作为间隔。
FirstDate=InputBox("Enteradate")
Number=InputBox("Enternumberofmonthstoadd")
Msg="Newdate:
"&DateAdd(IntervalType,Number,FirstDate)
MsgBoxMsg
13.DateDiff函数
返回Variant(Long)的值,表示两个指定日期间的时间间隔数目。
语法
DateDiff(interval,date1,date2[,firstdayofweek[,firstweekofyear]])
DateDiff函数语法中有下列命名参数:
部分
描述
interval
必要。
字符串表达式,表示用来计算date1和date2的时间差的时间间隔
Date1□date2
必要;Variant(Date)。
计算中要用到的两个日期。
Firstdayofweek
可选。
指定一个星期的第一天的常数。
如果未予指定,则以星期日为第一天。
firstweekofyear
可选。
指定一年的第一周的常数。
如果未予指定,则以包含1月1日的星期为第一周。
设置interval参数的设定值如下:
设置
描述
yyyy
年
q
季
m
月
y
一年的日数
d
日
w
一周的日数
ww
周
h
时
n
分钟
s
秒
firstdayofweek参数的设定值如下:
常数
值
描述
vbUseSystem
0
使用NLSAPI设置。
vbSunday
1
星期日(缺省值)
vbMonday
2
星期一
vbTuesday
3
星期二
vbWednesday
4
星期三
vbThursday
5
星期四
vbFriday
6
星期五
vbSaturday
7
星期六
常数
值
描述
vbUseSystem
0
用NLSAPI设置。
vbFirstJan1
1
从包含1月1日的星期开始(缺省值)。
vbFirstFourDays
2
从第一个其大半个星期在新的一年的一周开始。
vbFirstFullWeek
3
从第一个无跨年度的星期开始。
说明
DateDiff函数可用来决定两个日期之间所指定的时间间隔数目。
例如,可以使用DateDiff来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。
为了计算date1与date2相差的日数,可以使用“一年的日数”(y)或“日”(d)。
当interval是“一周的日数”(w)时,DateDiff返回两日期间的周数。
如果date1是星期一,DateDiff计算到date2为止的星期一的个数。
这个数包含date2但不包含date1。
不过,如果interval是“周”(ww),则DateDiff函数返回两日期间的“日历周”数。
由计算date1与date2之间星期日的个数而得。
如果date2刚好是星期日,则date2也会被加进DateDiff的计数结果中;但不论date1是否为星期日,都不将它算进去。
如果date1比date2来得晚,则DateDiff函数的返回值为负数。
firstdayofweek参数会影响使用时间间隔符号“W”或“WW”计算的结果。
如果date1或date2是日期文字,则指定的年份成为该日期的固定部分。
但是,如果date1或date2用双引号("")括起来,且年份略而不提,则在每次计算表达式date1或date2时,当前年份都会插入到代码之中。
这样就可以书写适用于不同年份的程序代码。
在计算12月31日和来年的1月1日的年份差时,DateDiff返回1表示相差一个年份,虽然实际上只相差一天而已。
DateDiff函数示例使用DateDiff函数来显示某个日期与今日相差几天。
DimTheDateAsDate'声明变量。
DimMsg
TheDate=InputBox("Enteradate")
Msg="Daysfromtoday:
"&DateDiff("d",Now,TheDate)
MsgBoxMsg
14.Day函数
返回一个Variant(Integer),其值为1到31之间的整数,表示一月中的某一日。
语法Day(date)
必要的date参数,可以是任何能够表示日期的Variant、数值表达式、字符串表达式或它们的组合。
如果date包含Null,则返回Null。
Day函数示例使用Day函数将指定的日期转换为该月的第几天。
在开发环境中,日期原义会根据系统的地区设置,以短式日期格式显示。
。
DimMyDate,MyDay
MyDate=#February12,1969#'指定一日期。
MyDay=Day(MyDate)'MyDay的值为12。
15.Dir函数
返回一个String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
语法Dir[(pathname[,attributes])]
Dir函