《VBA内部函数》PPT课件.ppt
第五章 VBA内部函数,5.6 文件操作函数,5.7 输入输出函数,5.8 财会类函数,5.9 格式化数据,5.10 系统与对象函数,51 数学函数,5.2 数组函数,5.3 字符串操作函数,5.4 日期和时间函数,5.5 数据类型检查与转换函数,2Atn(number),3Cos(number),4Exp(number),5Fix(number),6Hex(number),7Int(number),8Log(number),5 1 数学函数,1Abs(number),10Rnd(number),11Round(expression,numdecimalplaces),12Sgn(number),13Sin(number),14Sqr(number),15Tan(number),9Oct(number),返回主菜单,1Array(arglist),2Filter(sourcesrray,match,include,compare),3LBound(arrayname,dimension),4Split(expression,delimiter,limit,compare),5UBound(arrayname,dimension),5.2 数组函数,返回主菜单,5.3 字符串操作函数,1InStr(start,string1,string2,compare),2InstrRev(stringcheck,stringmatch,start,compare),3Join(sourcearray,delimiter),4LCase(string),5Left(string,length),6Len(string|varname),7LTrim(string),8Mid(string,start,length),9Replace(expression,find,replace,start,count,compare),10Right(string,length),12Space(number),13StrComp(string1,string2,compare),14StrConv(string,conversion,LCID),15StrReverse(expression),11RTrim(string),16String(number,character),17Trim(string),18UCase(string),返回主菜单,.4 日期和时间函数,1Date,2DateAdd(interval,number,date),3DateDiff(interval,date1,date2,firstdayofweek,firstweekofyear),4DatePart(interval,date,firstday-ofweek,firstweekofyear),5DateSerial(year,month,day),6DateValue(date),7Day(date),8Hour(time),9Minute(time),10Month(date),11MonthName(month,abbreviate),12Now,13Second(time),14Time,15Timer,16TimeSerial(hour,minute,second),17TimeValue(time),18Weekday(date,firstdayofweek),19WeekdayName(weekday,abbreviate,firstdayofweek),20Year(date),返回主菜单,6IsArray(varname),5.5 数据类型检查与 转换函数,7IsDate(expression),8IsEmpty(expression),9IsError(expression),10IsMissing(argname),11IsNull(expression),1Asc(string),2类型转换,3Choose(index,choice-1,choice-2,.,choice-n),4Chr(charcode),5IIf(expr,truepart,falsepart),12IsNumeric(expression),13IsObject(identifier),14Partition(number,start,stop,interval),15Str(number),16Switch(expr-1,value-1,expr-2,value-2 _,expr-n,value-n),17TypeName(varname),18Val(string),19VarType(varname),返回主菜单,5.6 文件操作函数,1CurDir(drive),2Dir(pathname,attributes),3EOF(filenumber),4FileAttr(filenumber,returntype),5FileDateTime(pathname),6FileLen(pathname),7FreeFile(rangenumber),8GetAttr(pathname),9Loc(filenumber),11Seek(filenumber),10LOF(filenumber),返回主菜单,5.7 输入输出函数,1Input(number,#filenumber),2InputBox(prompt,title,default,xpos,ypos,helpfile,context),3MsgBox(prompt,buttons,title,helpfile,context),4Spc(n),5Tab(n),返回主菜单,5.8 财会类函数,1DDB(cost,salvage,life,period,factor),2FV(rate,nper,pmt,pv,type),3IPmt(rate,per,nper,pv,fv,type),4IRR(values(),guess),5MIRR(values(),finance_rate,reinvest_rate),6NPer(rate,pmt,pv,fv,type),7NPV(rate,values(),8Pmt(rate,nper,pv,fv,type),9PPmt(rate,per,nper,pv,fv,type),10PV(rate,nper,pmt,fv,type),11Rate(nper,pmt,pv,fv,type,guess),12SLN(cost,salvage,life),13SYD(cost,salvage,life,period),返回主菜单,5.9 格式化数据,1Format(expression,format,firstdayofweek,firstweekofyear),2FormatCurrency(Expression,NumDigitsAfterDecimal,IncludeLeadingDigit,UseParensForNegativeNumbers,GroupDigits),3FormatDateTime(Date,NamedFormat),4FormatNumber(Expression,NumDigitsAfterDecimal,IncludeLeadingDigit,UseParensForNegativeNumbers,GroupDigits),5FormatPercent(Expression,N umDigitsAfterDecimal,IncludeLeadingDigit,UseParensForNegativeNumbers,GroupDigits),返回主菜单,5.10 系统与对象函数,1CallByName(object,procname,calltype,args(),2Command,3CreateObject(class,servername),4CVErr(errornumber),5DoEvents(),6Environ(envstring|number),7Error(errornumber),8GetAllSettings(appname,section),9GetObject(pathname,class),10GetSetting(appname,section,key,default),11IMEStatus,12MacID(常量),13MacScript 脚本,14QBColor(color),15RGB(red,green,blue),16Shell(pathname,windowstyle),返回主菜单,5.1-1Abs(number)返回参数的绝对值。,返回,5.1-2Atn(number)返回一个数的反正切值。Double型。number是以弧度为单位的角。范围 在-pi/2 和 pi/2 弧度之间。,返回,5.1-3Cos(number)返回指定一个角的余弦值。Double 型。number 参数是 Double 或任何有效的数值表达式,表示一个以弧度为单位的角。,返回,5.1-4Exp(number)返回e(自然对数的底)的某次方。Double型。number是Double或任何有效的数值 表达式。,返回,5.1-5Fix(number)返回参数的整数部分。与Int(numbe-r)功能相似。Int和Fix都会删除number的小数部份 而返回剩下的整数。Int和Fix 的不同之处在于,如果 number 为负数,则Int返回小于或等于number的第 一个负整数,而Fix则会返回大于或等于 number的第一个负整数。例如:Int将-8.4 转换成-9,而Fix将-8.4转换成-8。,返回,5.1-6Hex(number)返回代表十六进制数值的String。number为任何有效的数值表达式或字符串 表达式如果 number不是一个整数,先四舍 五入取整。前缀&H,可以直接表示十六进制数 字。例 如,&H10代表十进制的16。,返回,5.1-7Int(number)返回参数的整数部分。与Fix(numb-er)相似。祥见Fix函数说明。,返回,5.1-8Log(number)返回指定参数的自然对数值。number是大于0的数值表达式。,返回,5.1-9Oct(number)返回数值的八进制值。number为数值表达式或字符串表达式。如果number非整数,先四舍五入取整。可以用前缀&O来直接表示八进制数字。例如,&O10代表十进制的8。,返回,number的值大于0或省略,返回序列中 的下一个随机数。如果number的值等于 0,返回最近生成的数。,5.1-10Rnd(number)返回一个随机数。如果number的值小于0,每次都使number 作为随机数种子得到的相同结果。如果,返回,5.1-11Round(expression,numdecimalplaces)返回按照指定的小数位数进行四舍五 入运算的结果。expression,数值表达式。numdecimalplaces,小数点右边应保留的 位数。如果忽略,则Round函数返回整 数。,返回,5.1-12Sgn(number)返回参数的符号函数值。,返回,5.1-13Sin(number)返回指定参数的正弦值。number,数值表达式,表示一个以弧 度为单位的角。,返回,5.1-14Sqr(number)返回指定参数的平方根。number,大于或等于0的数值表达式。,返回,5.1-15Tan(number)返回指定一个角的正切值。number是数值表达式,表示一个 以弧度为单位的角度。,返回,5.2-1Array(arglist)返回一个数组。Variant型。arglist 参数是一个用逗号隔开的值表,这些值作为数组的各元素值。如果不提供参数,则创建一个长度为 0 的数组。,返回,5.2-2Filter(sourcesrray,match,include,compare)返回一个下标从零开始的数组,该数组包含基 于指定筛选条件的一个字符串数组的子集。sourcearray,要执行搜索的一维字符串数组。match,要搜索的字符串。include是一个Boolean值,如果是True,返回的是包含match子字符串的数组子集。如果是False,返回的是不包含match子字符串的数组子集。compare表示所使用的字符串比较类型。,返回,5.2-3LBound(arrayname,dimension)返回指定数组维可用的最小下标。arrayname,数组名。dimension,指定返回哪一维的下界。1表示第一维,2 表示第二维,如此类 推。如果省略,就认为是1。,返回,5.2-4Split(expression,delimiter,limit,compare)返回一个下标从零开始的一维数组,它包含指定数目的子字符串。expression,包含子字符串和分隔符的字符串表达式。delimiter,字符串定界符。如果忽略,则使用空格字符()作为分隔符。limit,要返回的子字符串数,1表示返回所有的子字符串。compare,数字值,表示判别子字符串时使用的比较方式。,返回,5.2-5UBound(arrayname,dimension)返回指定的数组维可用的最大下标。arrayname,数组名。dimension,指定返回哪一维的上界 1表示第一维,2表示第二维,如 此等等。省略,则为1。,返回,5.3-1InStr(start,string1,string2,compare)返回一字符串在另一字符串中最先出现的位置。start,搜索的起点。如果省略,从第一个字符的 位置开始。string1,被搜索的字符串表达式。string2,要搜索的字符串表达式。Compare,字符串比较类型。InStrB函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。,返回,5.3-2InstrRev(stringcheck,stringmatch,start,compare)返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。stringcheck,被搜索的字符串表达式。stringmatch,要搜索的字符串表达式。start,搜索的开始位置。如果忽略,则使用1,从上一个字符位置开始搜索。compare,在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。,返回,5.3-3Join(sourcearray,delimiter)返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。sourcearray,被连接子字符串的一维数组。delimiter,在返回字符串中用于分隔子字符串的字符。如果忽略该项,则使用空格()来分隔子字符串。如果delimiter是零长度字符串(),则列表中的所有项目都连接在一起。,返回,5.3-4LCase(string)字符串中大写字母转成小写。string是任何有效的字符串表达式。,返回,5.3-5Left(string,length)返回字符串中从左边算起指定数量的字符。string,字符串。length,指出将返回多少个字符。如果为 0,返回零长度字符串()。如果大于或等于 string 的字符数,则返回整个字符串。欲知string的字符数,使用 Len 函数。LeftB函数作用于包含在字符串中的字节数据。所以length指定的是字节数,而不是要返回的字符数。,返回,5.3-6Len(string|varname)返回字符串内字符的数目,或是存储一变量所需的字节数。string,字符串表达式。Varname,变量名称。LenB 函数作用于字符串中的字节数据,所以 LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。,返回,5.3-7LTrim(string)返回指定字符串的拷贝,没有前导 空白(LTrim)、尾随空白(RTrim)或前导和尾随空白(Trim)。,返回,5.3-8Mid(string,start,length)返回字符串中指定数量的字符。string,字符串表达式。start,字符开始位置。如果超过string的字符数,Mid返回零长度字符串()。length,要返回的字符数。如果省略或 length 超过文本的字符数,返回字符串中从 start 到尾端的所有字符。MidB函数作用于字符串中包含的字节数据,因此其参数指定的是字节数,而不是字符数。,返回,5.3-9Replace(expression,find,replace,start,count,compare)返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。expression,字符串表达式。find,要搜索的子字符串。replace,用来替换的子字符串。start,开始位置。如果忽略,从1开始。count,替换次数。如果忽略,缺省值是1,进行所有可能的替换。compare,数值,比较方式。,返回,5.3-10Right(string,length)返回从字符串右边取出的指定数量的字符。string,字符串表达式。length,想返回的字符数。如果为0,返回零长度字符串()。如果大于或等于string的字符数,则返回整个字符串。RightB函数作用于包含在字符串中的字节数据。所以length指定的是字节数,而不是指定返回的字符数。,返回,5.3-11RTrim(string)返回指定字符串的拷贝,没有前导空白(LTrim)、尾随空白(RTrim)或前导和尾随空白(Trim)。,返回,5.3-12Space(number)返回由特定数目空格组成的字符串。number为字符串中想要的空格数。,返回,5.3-13StrComp(string1,string2,compare)返回字符串比较的结果。string1、string2为字符串表达式。Compare,字符串比较的类型。如果省略,Option Compare 的设置将决定比较的类型。如果string1小于string2,返回-1。string1等于string2,返回0。string1大于string2,返回1。string1 或 string 2为 Null,返回Null。,返回,5.3-14StrConv(string,conversion,LCID)返回按指定类型转换的字符串。string,字符串表达式。conversion,整数,转换的类型。如大写、小写、开头字母大写等。LCID,如果与系统LocaleID不同,则为LocaleID。,返回,5.3-15StrReverse(expression)返回字符顺序反向的字符串。expression是要反序的字符串。,返回,5.3-16String(number,character)返回包含指定长度重复字符的字符串。number,字符串长度。character,字符码或字符串表达式,其第一个字符将用于建立返回的字符串。,返回,5.3-17Trim(string)返回指定字符串的拷贝,没有前导空白(LTrim)、尾随空白(RTrim)或前导和尾随空白(Trim)。,返回,5.3-18UCase(string)返回小写字母转成大写的字符串。string,字符串表达式。,返回,5.4-1Date 返回系统日期。若要设置系统日期,可使用 Date 语句。,返回,5.4-2DateAdd(interval,number,date)返回一个加上一段时间间隔的日期。interval,字符串表达式,时间间隔单位。有以下几种选择,见表5.1:,表5.1,number,数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。date日期或表示日期的文字。DateAdd 返回值的格式由Control Panel设置决定,而不是由传递到date 参数的格式决定。,返回,5.4-3DateDiff(interval,date1,date2,firstdayofweek,firstweekofyear)返回两个指定日期间的时间差。interval,字符串表达式,时间间隔单位。见表1-1。Date1和date2,计算中要用到的两个日期。Firstdayofweek一个星期的第一天。如果未指定,则以星期日为第一天。firstweekofyear一年的第一周。如果未指定,则以包含1月1日的星期为第一周。,返回,5.4-4DatePart(interval,date,firstdayofweek,firstweekofyear)返回一个包含已知日期的指定时间部分。参数interval、date、Firstdayofweek、firstweekofyear与DateDiff函数相同,不再赘述。可以使用DatePart 计算某个日期在第几季度、是星期几,目前为几点钟。,返回,5.4-5DateSerial(year,month,day)返回包含指定的年、月、日的日期。year,从100 到9999间的整数,或一数值 表达式。month、day,任何数值表达式,值为有效的月、日。,返回,5.4-6DateValue(date)返回一个日期。date通常是字符串表达式,表示从100年1月1日到9999年12月31日之间的一个日期。也可以是任何表达式,其所代表的日期、时间在上述范围内。,返回,5.4-7Day(date)返回一个1到31之间的整数,表示一个月中的某一日。,返回,5.4-8Hour(time)返回0到23之间的整数,表示一天之中的某一钟点。time可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。,返回,5.4-9Minute(time)返回0到59之间的整数,表示一小时中的某分钟。time可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。,返回,5.4-10Month(date)返回1到12之间的整数,表示一年中的某月。date可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。,返回,5.4-11MonthName(month,abbreviate)返回一个表示指定月份的字符串。month月份的数值表示。abbreviate,Boolean值,表示月份名是否缩写。缺省值为False,不缩写。,返回,5.4-12Now 返回当前系统日期和时间。,返回,5.4-13Second(time)返回0到59之间的整数,表示一分钟之中的某个秒。time可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。,返回,5.4-14Time 返回当前系统时间。设置系统时间,可使用Time语句。,返回,5.4-15Timer 返回从午夜开始到现在经过的秒数。,返回,5.4-16TimeSerial(hour,minute,second)返回具有时、分、秒的时间。hour,0(12:00 A.M.)到 23(11:00 P.M.),或一数值表达式。minute、second,0到59之间任何数值表达式。,返回,5.4-17TimeValue(time)返回一个时间值。time,通常是一个字符串表达式,表示 0:00:00到23:59:59 之间的时刻。也可以是表示在同一时间范围取值的任何其它表达式。,返回,5.4-18Weekday(date,firstdayofweek)返回一个整数,代表某个日期是星期几。date,能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。Firstdayofweek,指定一星期第一天的常数。未指定,则以 vbSunday 为缺省值。,返回,5.4-19WeekdayName(weekday,abbreviate,firstdayofweek)返回一个字符串,表示一星期中的某天。weekday,数字值,表示一星期中的某天。abbreviate,Boolean值,表示星期的名称是否被缩写。缺省值为False,不缩写。firstdayofweek,数字值,表示一星期中第一天。,返回,5.4-20Year(date)返回表示年份的整数。date是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。,返回,5.5-1Asc(string)返回代表字符串中首字母的字符代码。Integer型。AscB 返回第一个字节的字符代码。AscW返回 Unicode 字符代码,若平台不支持 Unicode,则与 Asc 函数功能相同。,返回,5.5-2类型转换 具体类型转换函数见表5.2。,表5.2,返回,5.5-3Choose(index,choice-1,choice-2,.,choice-n)从参数列表中选择并返回一个值。index,数值表达式或字段,界于 1 和可选择的项目数之间。choice,Variant 表达式,包含可选择项目的其中之一。Choose根据index的值来返回选择项列表中的某个值。如果index是1,则返回列表中的第1个选择项。如果index是2,则会返回列表中的第2个选择项,以此类推。当index小于1或大于列出的选择项数目时,Choose 函数返回 Null。如果 index 不是整数,则会先四舍五入为与其最接近的整数。,返回,5.5-4Chr(charcode)返回与指定的字符代码相关的字符。String型。例如,Chr(10)可以返回换行字符。charcode的正常范围为 0 255。然而,在 DBCS 系统,charcode 的实际范围为-32768 到 65535。ChrB返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。ChrW 返回包含 Unicode 的 String,若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。,返回,5.5-5IIf(expr,truepart,falsepart)根据表达式的值,来返回两部分中的一个值。expr,用来判断真伪的表达式。如果expr为 True,返回truepart这部分的值或表达式。如果 expr 为 False,返回falsepart这部分的值或表达式。,返回,5.5-6IsArray(varname)返回Boolean值,指出变量是否为一个数组。varname是一个变量的标识符。,返回,5.5-7IsDate(expression)返回Boolean值,指出一个表达式是否可以转换成日期。expression是一个日期表达式或字符串表达式,这里的字符串表达式是可以作为日期或时间来认定的。,返回,5.5-8IsEmpty(expression)返回Boolean值,指出变量是否已经初始化。expression是一个数值或字符串表达式。,返回,5.5-9IsError(expression)返回Boolean值,指出表达式是否为一个错误值。expression可以是任何有效表达式。,返回,5.5-10IsMissing(argname)返回Boolean值,指出参数是否已经传递给过程。argname,过程参数名。,返回,5.5-11IsNull(expression)返回Boolean值,指出表达式是否为空(Null)。expression,数值表达式或字符串表达式。,返回,5.5-12IsNumeric(expression)返回Boolean值,指出表达式的运算结果是否为数。expression,数值表达式或字符串表达式。,返回,5.5-13IsObject(identifier)返回Boolean值,指出标识符是否表示对象变量。identifier参数是一个变量名。,返回,5.5-14Partition(number,start,stop,interval)返回一个字符串,指定一个范围,在一系列计算的范围中指定的数字出现在这个范围内。number,整数,在所有范围中判断这个整数是否出现。start,整数,数值范围的开始值,这个数值不能小于0。stop,整数,数值范围的结束值,这个数值不能等于或小于start。,返回,5.5-15Str(number)将数值的转换为字符串。number,包含数值表达式。如果使用不同的小数点,可使用CStr将数字转成字符串。,返回,5.5-16Switch(expr-1,value-1,expr-2,value-2 _,expr-n,value-n)计算一组表达式列表的值,然后返回与表达式列表中最先为 True 的表达式所相关的数值或表达式。expr,要加以计算的表达式。value,如果相关的表达式为True,则返回此部分的数值或表达式。,返回,5.5-17TypeName(varname)返回变量的类型名。varname,用户定义类型变量之外的任何变量。,返回,5.5-18Val(string)将字符串内的数字转换为数值。string,字符串表达式。在不能识别为数字的第一个字符上停止。例如:Val(“1615198th Street N.E.”)返回值为 1615198。Val(&HFFFF)将十六进制数值转换为十进制数值-1。CDbl也可字符串转换为数字。,返回,5.5-19VarType(varname)返回变量的子类型。varname,用户定义类型变量之外的任何变量。,返回,5.6-1CurDir(drive)返回当前路径。drive是一个字符串表达式,指定驱动器。如果没有指定驱动器,或 drive 是零长度字符串(),则CurDir返回当前驱动器的路径。,返回,5.6-2Dir(pathname,attributes)返回一个文件名或文件夹名称。String型。pathname,路径名。attributes文件属性。,返回,5.6-3EOF(filenumber)返回一个逻辑值,True表明已经到达文件的结尾。filenumber是文件号。,返回,5.6-4FileAttr(filenumber,returntype)返回使用Open语句所打开文件的方式。Long型。filenumber,任何有效的文件号。returntype,指出返回信息的类型。1返回数值,2文件句柄。,返回,5.6-5FileDateTime(pathname)返回文件被创建或最后修改的日期和时间。pathname是用来指定一个文件名的字符串表达式,可以包含目录及驱动器。,返回,5.6-6FileLen(pathname)返回文件的长度,单位是字节。pathname是用来指定一个文件名的字符串表达式,可以包含目录及驱动器。若要取得一个打开文件的长度,可使用 LOF 函数。,返回,5.6-7FreeFile(rangenumber)返回一个代表下一个可供 Open 语句使用的文件号。rangenumber指定一个范围,以便返回该范围之内的下一个可用文件号。指定 0(缺省值)则返回一个介于1255之间的文件号。指定1则返回一个介于256511之间的文件号。使用FreeFile提供一个尚未使用的文件号。,返回,5.6-8GetAttr(pathname)返回文件或文件夹的属性。Integer型。pathname用来指定一个文件名的字符串表达式。可以包含文件夹及驱动器。,返回,5.6-9Loc(filenumber)返回一个 Long,在已打开的文件中指定当前读/写位置。filenumber,文件号。,返回,5.6-10LOF(filenumber)返回打开的文件的大小,以字节为单位。filenumber是文件号。对于尚未打开的文件,使用 FileLen 函数将得到其长度,返回,5.6-11Seek(filenumber)返回打开文件中当前的读/写位置。filenumber是文件号。,返回,5.7-1Input(number,#filenumber)返回String,它包含以 Input 或 Binary 方式打开的文件中的字符。number,要返回的字符个数。filenumber,文件号。对于文本文件中包含的字节数据要使用InputB函数。对于InputB来说,number指定的是要返回的字节个数,而不是要返回的字符个数。,返回,5.7-2InputBox(prompt,title,default,xpos,ypos,helpfile,context)在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回文本框内容。Prompt,对话框出现的字符串表达式。如果prompt包含多个行,则可在各行之间用回车符(Chr(13)、换行符(Chr(10)或回车换行符的组合(Chr(13)&Chr(10)来分隔。Title,对话框标题栏字符串表达式。如果省略title,则把应用程序名放入标题栏中。Default,文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略default,则文本框为空。Xpos,指定对话框的左边与屏幕左边的水平距离。如果省略xpos,则对话框会在水平方向居中。Ypos,指定对话框的上边与屏幕上边的距离。如果省略 ypos,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。Helpfile,帮助文件,提供上下文相关的帮助。如果已提供 helpfile,则必须提供 context。Context,帮助主题的上下文编号。,返回,5.7-3MsgBox(prompt,buttons,title,helpfile,context)在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击哪一个按钮。Prompt,字符串表达式,显示在对话框中的消息。Buttons,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则buttons的缺省值为0。见表5.3。Title,对话框标题。如果省略,则将应用程序名放在标题栏中。Helpfile,帮助文件。如果提供了helpfile,必须提供context。Context,数值表达式,帮助主题的上下文编号。,返回,返回,第一组值(05)描述了对话框中显示的按钮的类型与数目;第二组值(16,32,48,64)描述了图标的样式;第三组值(0,256,512,768)说明哪一个按钮是缺省值;而第四组值(0,4096)则决定消息框的强制返回性。将这些数字相加以生成 buttons 参数值的时候,每组只能取一个数字。常量都是VBA指定的。可以在程序代码中使用这些常数名称,而不必使用数值。MsgBox函数返回值见表5.4。,上一页,返回,5.7-4Spc(n)与Print#语句或Print方法一起使用,对输出进行定位。n,在显示或打印下一个表达式之前插入的空白数。,返回,5.7-5Tab(n)与Print#语句或 Print 方法一起使用,对输出进行定位。n,在显示或打印下一个表达式之前移动的列数。若省略此参数,则Tab将插入点移动到下一个打印区的起点。,返回,5.8-1DDB(cost,salvage,life,period,factor)返回指定一笔资产在一特定期间内的折旧。可使用双下落收复平衡方法或其它指定的方法进行计算。Double型。cost,资产的初始成本。salvage,使用年限结束时的资产价值。life,资产的可用年限。period,计算资产折旧所用的那一期间。factor,收复平衡下落时的速度。如果省略,缺省值为2(双下落方法)。,返回,5.8-2FV(rate,nper,pmt,pv,type)返回一个定期定额支付且利率固定的年金。Double型。rate,每一期的利率。nper付款总期限。pmt 每一期的付款金额。pv未来一系列付款(或一次付清款项)的现值。缺省值为0。type贷款到期时间。缺省值为0。年金是一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。对所有参数,用负数表示现金支出(如储蓄存款),而用