在一个函数中给变量附一个正则表达式使用变量或函数属于初始化吗

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)函数表达式和函数声明有什么区别?原文链接:
大家好,我是IT修真院北京总院第22期的学员,一枚正直纯洁善良的web程序员;
今天给大家分享一下,修真院官网js任务2,函数表达式和函数声明有什么区别?
1.背景介绍
什么是Function Declaration(函数声明)?
Function Declaration可以定义命名的函数变量,而无需给变量赋值。Function Declaration是一种独立的结构,不能嵌
套在非功能模块中。
就是使用function关键字声明一个函数,再指定一个函数名,叫函数声明
什么是Function Expression(函数表达式)?
Function Expression将函数定义为表达式语句(通常是变量赋值)的一部分。通过Function Expression定义的函数可以
是命名的,也可以是匿名的。Function Expression不能以“function”开头。
使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式
函数表达式存储在变量后,变量也可作为一个函数使用:
var x = function (a, b) {return a * b};
alert= x(4, 3);
以上函数实际上是一个 匿名函数(函数没有名称)。
函数存储在变量中,不需要函数名称,通常通过变量名来调用。
var x = function (a, b) {return a * b};
var z = x(4, 3);
2.知识剖析
//函数声明
function funDeclaration(type){
return type==="Declaration";
//函数表达式
var funExpression = function(type){
return type==="Expression";
3.常见问题
一、什么是JavaScript函数?
二、两者具体有哪些区别呢?
4.解决方案
一、JavaScript函数。
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
JavaScript函数语法
函数就是包裹在花括号中的代码块,使用了关键词function:
function functionname()
当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由JavaScript在任何位置进行调用。
JavaScript对大小写敏感。关键词function必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
调用带参数的函数,在调用函数时,您可以向其传递值,这些值被称为参数。
这些参数可以在函数中使用。
您可以发送任意多的参数,由逗号(,)分隔:
myFunction(argument1,argument2)
当声明函数时,把参数作为变量来声明:
function myFunction(var1,var2)
点击这个按钮,来调用带参数的函数。
functionmyFunction(name,job){
alert("Welcome "+ name +", the "+ job);
二、函数声明中函数名是必须的;函数表达式中则是可选的
//函数声明
function sum(a, b) {
return a +
alert(sum(1, 2));
//函数表达式
var s = function sum(a, b) {
return a +
alert(s(1, 2));
var s = function(a, b) {
return a +
alert(s(1, 2));//以上两种都可以
二、用函数声明定义的函数,函数可以在函数声明之前调用,而用函数表达式定义的函数只能在声明之后调用。
//函数声明
alert(sum(1, 2));//3
function sum(a, b) {
return a +
//函数表达式:发生错误
alert(s(1, 2));
var s = function sum(a, b) {
return a +
catch (e) {
alert("wrong!");
5.扩展思考
使用function关键字声明一个函数,再指定一个函数名,叫函数声明。
function fn(){……}
使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式。
var fn=function(){……}
使用function关键字声明一个函数,但未给函数命名,这个又称之为什么呢?是属于以上两种类型的哪一种?
function(){……}
匿名函数属于函数表达式,匿名函数有很多作用,赋予一个变量则创建函数,赋予一个事件则成为事件处理程序或创建闭包等等.
6.参考文献
参考一:函数声明与函数表达式以及立即执行函数的讨论
参考二:雨落川下雪
7.更多讨论
问题一:关于立即执行函数的讨论
回答:也就是说只有函数表达式才能实现立即执行,匿名函数也是函数表达式为何不能立即执行呢,
因为匿名函数开始的function会被JavaScript引擎识别为函数声明的开始,所以加上括号也不会被执行了,
而加上(),!,+,-等符号为什么就可以了呢,因为加上这些符号就可以告诉JavaScript引擎这不是函数声明了。
问题二:给匿名函数用小括号包起来,为什么能执行?
//匿名函数:
function(){ & //如果不加小括号则会报错!
alert('弹出框');
//添加小括号后的匿名函数
(function(){
alert('弹出框');
回答:小括号能把我们的表达式组合分块,并且每一块,也就是每一对小括号,都有一个返回值。这个返回值实际上也就是小括号中表达式的返回值。
问题三:什么是自执行函数?
回答:在JavaScript里,任何function在执行的时候都会创建一个执行上下文,因为为function声明的变量和function有可能只在该function内部,这个上下文,在调用function的时候,提供了一种简单的方式来创建自由变量或私有子function。
8.问题截图
感谢 孙剑立,此教程在她技术分享的基础上完善而成!
视屏地址:
------------------------------------------------------------------------------------------------------------------------------------------
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !
相关热门文章Ctrl or ? + Enter评论0JS解析执行顺序,函数表达式,函数声明,匿名函数_新堂_新浪博客
1.JS的解析和执行顺序
​几个重要的概念要理解清楚
//js在预处理期对变量进行了声明处理,但是并没有进行初始化与赋值,所以导致代码块二中的变量是unfiened的,而代码一中的变量是完全不存在的,所以浏览器报错。&
现在,让我们来总结整理下:
step 1. 读入第一个代码块。
step 2. 做语法分析,有错则报语法错误(比如括号不匹配等),并跳转到step5。
对var变量和function定义做“预编译处理”(永远不会报错的,因为只解析正确的声明)。
step 4. 执行代码段,有错则报错(比如变量未定义)。
step 5. 如果还有下一个代码段,则读入下一个代码段,重复step2。
step6. 结束。
而根据HTML文档流的执行顺序,需要在页面元素渲染前执行的js代码应该放在前面的
​2.函数立即执行和匿名函数
( function(){…} )()和( function (){…} ()
)是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此。要理解立即执行函数,需要先理解一些函数的基本概念。
函数声明、函数表达式、匿名函数
函数声明:function fnName ()
{…};使用function关键字声明一个函数,再指定一个函数名,叫函数声明。
函数表达式 var fnName = function ()
{…};使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式。
匿名函数:function () {};
使用function关键字声明一个函数,但未给函数命名,所以叫匿名函数,匿名函数属于函数表达式,匿名函数有很多作用,赋予一个变量则创建函数,赋予一个事件则成为事件处理程序或创建闭包等等。
函数声明和函数表达式不同之处在于,一、Javascript引擎在解析javascript代码时会‘函数声明提升’(Function
declaration
Hoisting)当前执行环境(作用域)上的函数声明,而函数表达式必须等到Javascirtp引擎执行到它所在行时,才会从上而下一行一行地解析函数表达式,二、函数表达式后面可以加括号立即调用该函数,函数声明不可以,只能以fnName()形式调用
。以下是两者差别的两个例子。
在理解了一些函数基本概念后,回头看看( function(){…} )()和( function (){…} ()
)这两种立即执行函数的写法,最初我以为是一个括号包裹匿名函数,并后面加个括号立即调用函数,当时不知道为什么要加括号,后来明白,要在函数体后面加括号就能立即调用,则这个函数必须是函数表达式,不能是函数声明。
可以看到输出结果,在function前面加!、+、
-甚至是逗号等到都可以起到函数定义后立即执行的效果,而()、!、+、-、=等运算符,都将函数声明转换成函数表达式,消除了javascript引擎识别函数表达式和函数声明的歧义,告诉javascript引擎这是一个函数表达式,不是函数声明,可以在后面加括号,并立即执行函数的代码。
加括号是最安全的做法,因为!、+、-等运算符还会和函数的返回值进行运算,有时造成不必要的麻烦。
不过这样的写法有什么用呢?
javascript中没用私有作用域的概念,如果在多人开发的项目上,你在全局或局部作用域中声明了一些变量,可能会被其他人不小心用同名的变量给覆盖掉,根据javascript函数作用域链的特性,可以使用这种技术可以模仿一个私有作用域,用匿名函数作为一个“容器”,“容器”内部可以访问外部的变量,而外部环境不能访问“容器”内部的变量,所以(
function(){…} )()内部定义的变量不会和外部的变量发生冲突,俗称“匿名包裹器”或“命名空间”。
JQuery使用的就是这种方法,将JQuery代码包裹在( function
(window,undefined){…jquery代码…}
(window)中,在全局作用域中调用JQuery代码时,可以达到保护JQuery内部变量的作用。
博客等级:
博客积分:0
博客访问:4,570
关注人气:0
荣誉徽章:当前位置: >>
access表达式与函数
表达式: 表达式是许多 Microsoft Access 运算的基本组成部分。 表达式是可以生成结果的运算符号和 操作数的组合。例如,可以在窗体或报表的控件中使用下列表达式来显示“小计”和“运货费” 控件的数值总和:= [小计] + [运货费] 常见的运算符如算术运算符“=”“+”“-”“*”“/” , , , , ;比较运算符“&”“&”“&=”“&=” , , , , “&&”“=” , ;逻辑运算符“and”“or”“not” , , ;连接运算符“&”“+” , ;及常用的!和.(点) 运算符。 常见的操作数如字符串,日期/时间值,常量,变量,函数及引用窗体或报表中的字段值, 控件值或属性等。 常见表达式示例: 数学及比较运算表达式表达式 =[数量]*[价格] =[到货日期]-[发货日期] &2500说明 计算数量与价格的乘积,可以得出总价 计算两个日期之间的天数 比 2500 大的数日期表达式表达式 Between ## And ## &## &Date()-30 =(Date()-[出生日期])/365 Month([出生日期])=3说明 在
之间的数据
以前的数据 30 天以前的数据 计算年龄 3 月份出生的人逻辑运算表达式表达式 “北京” or “上海” Is Not Null “性别”= “男” and “年龄”&30 = “中国” & “北京”说明 城市为北京或上海的数据 不为空 大于 30 岁的男性数据 值为 “中国北京”通配符表达式 表达式 Like “张*” Like “张?”说明 以张开头的数据 以张开头后面还有一个字的数据聚合函数表达式表达式 Sum([数量]*[价格]) Avg(费用) Count(*)说明 求数量和价格相乘后的和 求费用的平均值 计算记录条数Abs 函数返回参数的绝对值,其类型和参数相同。 语法 Abs(number) ( 必要的 number 参数是任何有效的数值表达式,如果 number 包含 Null,则返回 Null,如 Null 果 number 是未初始化的变量,则返回 0。 说明 一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。Array 函数返回一个包含数组的 Variant。 语法 Array(arglist) 这些值用于给 Variant 所包含的数组的各 所需的 arglist 参数是一个用逗号隔开的值表, 元素赋值。如果不提供参数,则创建一个长度为 0 的数组。 说明 用来表示数组元素的符号由变量名、 圆括号以及括号中的所需元素的索引号组成。 在下面的 示例中,第一条语句创建一个 Variant 的变量 A。第二条语句将一个数组赋给变量 A。最 后一条语句将该数组的第二个元素的值赋给另一个变量。 Dim A As Variant A = Array(10,20,30) B = A(2) 使用 Array 函数创建的数组的下界受 Option Base 语句指定的下界的决定, 除非 Array 是由类型库 (例如 VBA.Array ) )名称限定。 如果是由类型库名称限定, Array 不受 Option 则 Base 的影响。 除了长度固定的字符串以及用户定义 注意 没有作为数组声明的 Variant 也可以表示数组。 类型之外,Variant 变量可以表示任何类型的数组。尽管一个包含数组的 Variant 和一个 Variant 元素为 Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。Asc 函数 返回一个 Integer,代表字符串中首字母的字符代码。 语法 Asc(string) 必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符, 则会产生运行时错误。 说明 在非 DBCS 系统下,返回值范围为 0 C 255 。在 DBCS 系统下,则为 -32768 C 32767。 注意 AscB 函数作用于包含在字符串中的字节数据,AscB 返回第一个字节的字符代码,而 AscB 非字符的字符代码。AscW 函数返回 Unicode 字符代码,若平台不支持 Unicode,则与 Asc AscW 函数功能相同。Atn 函数返回一个 Double,指定一个数的反正切值。 语法 Atn(number) 必要的 number 参数是一个 Double 或任何有效的数值表达式。 说明 这个比值 Atn 函数的参数值 (number) 为直角三角形两边的比值并返回以弧度为单位的角。 是角的对边长度除以角的邻边长度之商。 值的范围在 -pi/2 和 pi/2 弧度之间。 为了将角度转换为弧度,请将角度乘以 pi/180。为了将弧度转换为角度,请将弧度乘以 180/pi。 注意 Atn 是 Tan 的反三角函数,Tan 的参数值为角度,返回直角三角形的两条边的比值。 Tan 不要将 Atn 和余切函数混淆, 余切函数值是正切函数值的倒数, cotangent = (1/tangent)。CallByName 函数执行一个对象的方法,或者设置或返回一个对象的属性。 语法 object, procname, calltype,[args args()] CallByName(object procname calltype args ) CallByName 函数的语法有以下命名参数: 部分 描述 object 必需的;变体型(对象)。函数将要执行的对象的名称。 变体型( 变体型 对象) objec 必需的;变体型(字符串)。一个包含该对象的属性名称或者方法名称 变体型( 变体型 字符串) procname 的字符串表达式。 必需的;常数 常数。一个 vbCallType 类型的常数,代表正在被调用的过程 常数 calltype 的类型。 args() 可选的:变体型(数组)。 变体型( 变体型 数组) args 说明 CallByName 函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一 个方法。 在下面的例子中,第一行使用 CallByName 来设置一个文本框的 MousePointer 属性,第 二行得到 MousePointer 属性的值,第三行调用 Move 方法来移动文本框: CallByName Text1, &MousePointer&, vbLet, vbCrosshair Result = CallByName (Text1, &MousePointer&, vbGet) CallByName Text1, &Move&, vbMethod, 100, 100类型转换函数每个函数都可以强制将一个表达式转换成某种特定数据类型。 语法 CBool(expression) CByte(expression) CCur(expression) CDate(expression) CDbl(expression) CDec(expression) CInt(expression) CLng(expression) CSng(expression) CStr(expression) CVar(expression) CStr(expression) 必要的 expression 参数可以是任何字符串表达式或数值表达式。 返回类型 函数名称决定返回类型,如下所示: 函数 返回类 expression 参数范围 型 任何有效的字符串或数值表达式。 CBool Boolean 0 至 255。 CByte Byte Currency -922,337,203,685,477.5808 至 922,337,203,685,477.5807。 CCur 任何有效的日期表达式。 CDate Date Double 负数从 -1.31E308 至 -4.47E-324;正数从 CDbl 4.47E-324 至 1.32E308。 Decimal 零变比数值,即无小数位数值,为 CDec +/-79,228,162,514,264,337,593,543,950,335。对于 28 位小数的数 值,范围则为+/-7.0335;最小的可能非零 值是 0.0001。 Integer -32,768 至 32,767,小数部分四舍五入。 CInt Long -2,147,483,648 至 2,147,483,647,小数部分四舍五入。 CLng Single 负数为 -3. 至 -1.;正数为 1. 至 CSng 3.。 String 依据 expression 参数返回 Cstr。 CStr Variant 若为数值,则范围与 Double 相同;若不为数值,则范围与 String 相 CVar 同。 说明 如果传递给函数的 expression 超过转换目标数据类型的范围,将发生错误。 通常, 在编码时可以使用数据类型转换函数, 来体现某些操作的结果应该表示为特定的数据 类型, 而不是缺省的数据类型。 例如, 当单精度、 双精度或整数运算发生的情况下, 使用 CCur 来强制执行货币运算。 应该使用数据类型转换函数来代替 Val 以使国际版的数据转换可以从一种数据类型转换为 Val, 另一种。例如,当使用 Ccur 时,不同的小数点分隔符、千分位分隔符和各种货币选项,依 据系统的区域设置都会被妥善识别。 当小数部分恰好为 0.5 时, 例如, 0.5 转 Cint 和 CLng 函数会将它转换为最接近的偶数值。 换为 0、1.5 转换为 2。Cint 和 CLng 函数不同于 Fix 和 Int 函数,Fix 和 Int 函数 Cint Fix 会将小数部分截断而不是四舍五入。 并且 Fix 和 Int 函数总是返回与传入的数据类型相同 的值。 使用 IsDate 函数, 可判断 date 是否可以被转换为日期或时间。 Cdate 可用来识别日期文 字和时间文字,以及落入可接受的日期范围内的数值。当转换一个数字成为日期时,是将整 数部分转换为日期,小数部分转换为从午夜起算的时间。 CDate 依据系统上的区域设置来决定日期的格式。如果提供的格式为不可识别的日期设置, 则不能正确判断年、月、日的顺序。另外,长日期格式,若包含有星期的字符串,也不能被 识别。 CVDate 函数也提供对早期 Visual Basic 版本的兼容性。CVDate 函数的语法与 CDate 函 CVDate 数是完全相同的,不过,CVDate 是返回一个 Variant Variant,它的子类型是 Date Date,而不是实际 CVDate 的 Date 类型。因为现在已有真正的 Date 类型,所以 CVDate 也不再需要了。转换一个 表达式成为 Date Date,再赋值给一个 Variant Variant,也可以达到同样的效果。也可以使用这种技巧 将其他真正的数据类型转换为对等的 Variant 子类型。 Variant,它的值已经被转换 注意 CDec 函数不能返回独立的数据类型,而总是返回一个 Variant 为 Decimal 子类型。Choose 函数从参数列表中选择并返回一个值。 语法 Choose(index, choice-1[, choice-2, ... [, choice-n]]) , , ) Choose 函数的语法具有以下几个部分: 部分 描述 index 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和可选择 的项目数之间。 choice 必要参数,Variant 表达式,包含可选择项目的其中之一。 说明 Choose 如果 index 是 1, Choose 会 则 Choose 会根据 index 的值来返回选择项列表中的某个值。 返回列表中的第 1 个选择项。如果 index 是 2,则会返回列表中的第 2 个选择项,以此 类推。 可以使用 Choose 来查阅一个列表中的项目。例如,如果 index 所指定的值为 3,而 choice-1 = &one&、choice-2 = &two&、且 choice-3 = &three&,那么 Choose 将返回 &three&。当 index 代表一选项组中的值时,则这项功能将会特别有用。 即使它只返回一个选项值,Choose 仍然会计算列表中的每个选择项。所以应该注意到这项 Choose 副作用。例如,当在每个选择项表达式中使用了 MsgBox 函数作为其中的一部分时,每计算 一个选择项,就会显示一次消息框。 当 index 小于 1 或大于列出的选择项数目时,Choose 函数返回 Null。 Choose 如果 index 不是整数,则会先四舍五入为与其最接近的整数。Chr 函数返回 String,其中包含有与指定的字符代码相关的字符 。 语法 Chr(charcode) 必要的 charcode 参数是一个用来识别某字符的 Long。 说明 0 到 31 之间的数字与标准的非打印 ASCII 代码相同。 例如, Chr(10) Chr( ) 可以返回换行字符。 charcode 的正常范围为 0 C 255。然而,在 DBCS 系统,charcode 的实际范围为 -32768 到 65535。 注意 ChrB 函数作用于包含在 String 中的字节数据。ChrB 总是返回一个单字节,而不是 ChrB 返回一个字符, 一个字符可能是一个或两个字节。 String, ChrW 函数返回包含 Unicode 的 String 若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。 注意 Visual Basic for the Macintosh 不支持 Unicode 字符串。因此,当 n 值在 128 C 65,535 范围内时, ChrW n) 不能像在 Windows 环境中那样返回所有的 Unicode 字符。相 ChrW( 反地,当 Unicode 的 n 值大于 127 时,ChrW n) 会试图做一个“最好的猜测”。因此,在 ChrW( ChrW Macintosh 环境中,不能使用 ChrW 。Command 函数返回命令行的参数部分,该命令行用于装入 Microsoft Visual Basic 或 Visual Basic 开 发的可执行程序。Visual Basic Command 函数在 Microsoft Office 应用程序中不可用。 语法 Command 说明 当从命令行装入 Visual Basic 时,/cmd 之后的命令行的任何部分作为命令行的参数传递 给程序。下面的示例中,cmdlineargs 代表 Command 函数返回的参数信息。 VB /cmd cmdlineargs 对于使用 Visual Basic 开发并编译为 .exe 文件的应用程序, mand 返回出现在命令行 Command Com 中应用程序名之后的任何参数。例如: MyApp cmdlineargs 想知道如何在正在使用的应用程序的用户界面中改变命令行参数,请搜寻关于“命令行参 数”的帮助。Cos 函数返回一个 Double Double,指定一个角的余弦值。 语法 Cos(number) 必要的 number 参数是一 Double 或任何有效的数值表达式,表示一个以弧度为单位的角。 说明 并返回直角三角形两边的比值。 该比值为角的邻边长度除以斜边 Cos 函数的参数为一个角, 长度之商。 结果的取值范围在 -1 到 1 之间。 为了将角度转换成弧度,请将角度乘以 pi/180。为了将弧度转换成角度,请将弧度乘以 180/pi。CreateObject 函数创建并返回一个对 ActiveX 对象的引用。 语法 CreateObject(class,[servername]) CreateObject 函数的语法有如下部分: 部分 描述 class 必需的; Variant (String 要创建的应用程序名称和类。 String). String servername 可选的; Variant (String 要在其上创建对象的网络服务器名称。如果 String). String servername 是一个空字符串(&&),即使用本地机器。class 参数使用 appname.objecttype 这种语法,包括以下部分:部分appname objecttype描述 必需的;Variant 字符串 Variant(字符串 Variant 字符串)。提供该对象的应用程序名。 必需的;Variant 字符串 Variant(字符串 Variant 字符串)。待创建对象的类型或类。说明 每个支持自动化的应用程序都至少提供一种对象类型。 例如, 一个字处理应用程序可能会提 供 Application 对象,Document 对象,以及 Toolbar 对象。 Document 要创建 ActiveX 对象,只需将 CreateObject 返回的对象赋给一个对象变量: '声明一个对象变量来存放该对象 '的引用。Dim as Object 采用后期绑定方式。 Dim ExcelSheet As Object Set ExcelSheet = CreateObject(&Excel.Sheet&) 上述代码将启动该应用程序创建该对象,在本例中就是创建一个 Microsoft Excel 电子数 据表。 对象创建后, 就可以在代码中使用自定义的对象变量来引用该对象。 在下面的示例中, 可以使用对象变量 ExcelSheet 来访问新建对象的属性和方法,以及访问 Microsoft Excel 的其它对象,包括应用程序对象和单元格集合。 '设置 Application 对象使 Excel 可见 ExcelSheet.Application.Visible = True '在表格的第一个单元中写些文本 ExcelSheet.Application.Cells(1, 1).Value = &This is column A, row 1& '将该表格保存到 C:\test.xls 目录 ExcelSheet.SaveAs &C:\TEST.XLS& '使用应用程序对象的 Quit 方法关闭 Excel。 ExcelSheet.Application.Quit '释放该对象变量 Set ExcelSheet = Nothing 使用 As Object 子句声明对象变量,可以创建一个能包含任何类型对象引用的变量。不过, 该变量访问对象是后期绑定的,也就是说,绑定在程序运行时才进行。要创建一个使用前期 绑定方式的对象变量,也就是说,在程序编译时就完成绑定,则对象变量在声明时应指定类 ID。例如,可以声明并创建下列 Microsoft Excel 引用: Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.WorkSheet Set xlApp = CreateObject(&Excel.Application&) Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) 前期绑定的变量引用可以提供更好的性能,但该变量只能存放声明中所指定的类的引用。 可以将 CreateObject 函数返回的对象传给一个参数为对象的函数。 例如, 下面的代码创建 并传递了一个 Excel.Application 对象的引用: Call MySub (CreateObject(&Excel.Application&)) 可以在一个远端连网的计算机上创建一个对象,方法是把计算机的名称传递给 CreateObject 的 servername 参数。这个名称与共享名称的机器名部份相同:对于一个共 享名称为&\\MyServer\Public,& 的 servername 参数是 &MyServer& 。 注意 关于使应用程序在远程网络计算机上可见的详细信息,请参阅 COM 文档 (参阅 Microsoft Developer Network)。您可能必须给应用程序添加注册号。 下面的代码返回在一个名为 MyServer 的远端计算机上运行的 Excel 实例的版本号: Dim xlApp As Object Set xlApp = CreateObject(&Excel.Application&, &MyServer&) Debug.Print xlApp.Version 如果远端服务器不存在或者不可用,则会发生一个运行时错误。 CreateObject。如果该对象已有实例在运行,就 注意 当该对象当前没有实例时,应使用 CreateObject 会启动一个新的实例,并创建一个指定类型的对象。要使用当前实例,或要启动该应用程序 并加载一个文件,可以使用 GetObject 函数。 如果对象已登记为单个实例对象,则不管执行多少次 CreateObject CreateObject,都只能创建该对象的 一个实例。CurDir 函数返回一个 Variant (String String),用来代表当前的路径。 String 语法 CurDir[( CurDir (drive)] 可选的 drive 参数是一个字符串表达式, 它指定一个存在的驱动器。 如果没有指定驱动器, 则 或 drive 是零长度字符串 (&&), CurDir 会返回当前驱动器的路径。 在 Macintosh 上, CurDir 忽略任何指定的 drive ,并只简单地返回当前驱动器的路径。CVErr 函数返回 Error 子类型的 Variant,其中包含指定的错误号。 语法 CVErr(errornumber) 必要的 errornumber 参数可以是任何有效的错误号代码。 说明 可以在过程中,使用 CVErr 函数来创建用户自定义错误。例如,如果创建一个函数,它可 以接受若干个参数,且正常返回一个字符串,则可以让函数来判断输入的参数,确认它们是 在可接受的范围内。 如果不是的话, 此函数将不会返回所要的字符串。 在这种情况下, CVErr 可以返回一个错误号,并告知应该采取的行动。 注意,Error 的隐式转换是不允许的,例如,不能直接把 CVErr 的返回值赋值给一个非 Error CInt、CDbl Variant 的变量。然而,可以对 CVErr 的返回值进行显式转换(使用 CInt CDbl 等等), 并赋值给适当的数据类型变量。Date Date 函数返回包含系统日期的 Variant (Date Date)。 Date 语法 Date 说明 为了设置系统日期,请使用 Date 语句。DateAdd 函数返回包含一个日期的 Variant (Date Date),这一日期还加上了一段时间间隔。 Date 语法 DateAdd(interval, number, date) DateAdd 函数语法中有下列命名参数: 描述 部分 必要。字符串表达式,是所要加上去的时间间隔。 interval 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到 number 未来的日期),也可以为负数(得到过去的日期)。 必要。Variant (Date 或表示日期的文字,这一日期还加上了时间间隔。 Date) Variant Date date 设置interval 参数具有以下设定值:设置 描述 yyyy 年 q 季 月 m y 一年的日数 d 日 一周的日数 w ww 周 h 时 n 分钟 s 秒 说明 可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。例如,可以用 DateAdd 来计 算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。 为了对 date 加上“日”,可以使用“一年的日数” (“y”),“日” (”d”) 或“一周 的日数” (”w”)。 DateAdd 函数将不返回有效日期。在以下实例中将 1 月 31 日加上一个月: DateAdd(m, 1, 31-Jan-95) 上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 DateAdd 1996 年 1 月 31 日,则由于 1996 年是闰年,返回值是 1996 年 2 月 29 日。 如果计算的日期超前 100 年(减去的年度超过 date 中的年份),就会导致错误发生。 date 如果 number 不是一个 Long 值,则在计算时取最接近的整数值来计算。 注意 DateAdd 返回值的格式由 Control Panel 设置决定,而不是由传递到 date 参数的 格式决定。DateDiff 函数返回 Variant (Long 的值,表示两个指定日期间的时间间隔数目。 Long) Long 语法 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) , ) DateDiff 函数语法中有下列命名参数: 部分 描述 必要。 字符串表达式, 表示用来计算 date1 和 date2 的时间差的时 interval 间间隔 必要;Variant (Date Date)。计算中要用到的两个日期。 Variant Date Date1□date2 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日 Firstdayofweek 为第一天。 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 firstweekofyear 日的星期为第一周。 设置interval 参数的设定值如下:设置 yyyy q m y d w ww h n s 描述 年 季 月 一年的日数 日 一周的日数 周 时 分钟 秒firstdayofweek 参数的设定值如下:常数 vbUseSystem vbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday 值 0 1 2 3 4 5 6 7 描述 使用 NLS API 设置。 星期日(缺省值) 星期一 星期二 星期三 星期四 星期五 星期六 常数 值 描述 0 用 NLS API 设置。 vbUseSystem 1 从包含 1 月 1 日的星期开始(缺省值)。 vbFirstJan1 2 从第一个其大半个星期在新的一年的一周开始。 vbFirstFourDays 3 从第一个无跨年度的星期开始。 vbFirstFullWeek 说明 例如, 可以使用 DateDiff DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。 为了计算 date1 与 date2 相差的日数,可以使用“一年的日数”(y) 或“日”(d)。当 DateDiff interval 是“一周的日数”(w) 时,DateDiff 返回两日期间的周数。如果 date1 是星期 一,DateDiff 计算到 date2 为止的星期一的个数。这个数包含 date2 但不包含 date1。 DateDiff 不过,如果 interval 是“周”(ww),则 DateDiff 函数返回两日期间的“日历周”数。 由计算 date1 与 date2 之间星期日的个数而得。 如果 date2 刚好是星期日, date2 也 则 会被加进 DateDiff 的计数结果中;但不论 date1 是否为星期日,都不将它算进去。 如果 date1 比 date2 来得晚,则 DateDiff 函数的返回值为负数。 firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。 则指定的年份成为该日期的固定部分。 但是, 如果 date1 如果 date1 或 date2 是日期文字, 或 date2 用双引号 (& &) 括起来, 且年份略而不提, 则在每次计算表达式 date1 或 date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。 在计算 12 月 31 日和来年的 1 月 1 日的年份差时,DateDiff 返回 1 表示相差一个年 DateDiff 份,虽然实际上只相差一天而已。DatePart 函数返回一个包含已知日期的指定时间部分的 Variant (Integer Integer)。 Integer 语法 DatePart(interval, date[,firstdayofweek[, firstweekofyear]]) ) DatePart 函数语法中有下列命名参数: 部分 描述 必要。字符串表达式,是要返回的时间间隔。 interval date 必要。要计算的 Variant (Date 值。 Date) Date date 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日 Firstdayofweek 为第一天。 可选。指定一年第一周的常数。如果未予指定, 则以包含 1 月 1 日 firstweekofyear 的星期为第一周。 设置 interval 参数的设定值如下: 设置 描述 yyyy 年 q 季 m 月 y 一年的日数 d 日 w 一周的日数 周 ww h n s时 分钟 秒firstdayofweek 参数的设定值如下:常数 vbUseSystem vbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday 值 描述 0 使用 NLS API 设置。 1 星期日(缺省值) 2 星期一 3 星期二 4 星期三 5 星期四 6 星期五 7 星期六 firstweekofyear 参数的设定值如下: 常数 值 描述 0 使用 NLS API 设置。 vbUseSystem 1 从包含 1 月 1 日的星期开始(缺省值)。 vbFirstJan1 2 从第一个其大半个星期在新的一年的一周开始。 vbFirstFourDays 3 从第一个无跨年度的星期开始。 vbFirstFullWeek说明 DatePart 函数可以用来计算日期并返回指定的时间间隔。例如,可以使用 DatePart 计算 某个日期是星期几或目前为几点钟。 firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。 如果 date 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date 用双引号 (& &) 括起来,且年份略而不提,则在每次计算 date 表达式时,当前年份都会插入到代码 之中。这样就可以书写适用于不同年份的程序代码。DateSerial 函数返回包含指定的年、月、日的 Variant (Date Date)。 Date 语法 DateSerial(year, month, day) DateSerial 函数语法有下列的命名参数: 部分 描述 必要;Integer。从 100 到 9999 间的整数,或一数值表达式。 Integer。 Integer year Integer。 Integer month 必要;Integer。任何数值表达式。 必要;Integer。任何数值表达式。 Integer Integer。 day 说明 为了指定某个日期,如 1991 年 12 月 31 日,DateSerial 函数中的每个参数的取值范围 DateSerial 应该是可接受的;即,日的取值范围应在 1-31 之间,而月的取值范围应在 1-12 之间。但 是,当一个数值表达式表示某日之前或其后的年、月、日数时,也可以为每个使用这个数值 表达式的参数指定相对日期。 以下示例中使用了数值表达式代替绝对日期。 这里, DateSerial 函数返回 1990 年 8 月 1 日的 十 年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 之前的日期;换句话说,就 是 1980 年 5 月 31 日。 DateSerial(1990 - 10, 8 - 2, 1 - 1) year 参数的数值若介于 0 与 29 之间,则将其解释为
年,若介于 30 和 99 之间则解释为
年。 而对所有其它 year 参数, 则请用四位数值表示 (如 1800) 。 当任何一个参数的取值超出可接受的范围时, 它会适时进位到下一个较大的时间单位。 例如, 如果指定了 35 天, 则这个天数被解释成一个月加上多出来的日数, 多出来的日数将由其年 份与月份来决定。如果一个参数值超出 -32,768 到 32,767 的范围,就会导致错误发生。DateValue 函数返回一个 Variant (Date Date)。 Date 语法 DateValue(date) 必要的 date 参数 date 通常是字符串表达式,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日之间的一个日期。但是,date 也可以是任何表达式,其所代表的日期、时间在上 述范围内。 说明 且其内容只有数字以及分隔数字的日期分隔符, DateValue 就 则 如果 date 是一个字符串, 会根据系统中指定的短日期格式来识别月、日、年的顺序。DateValue 也识别明确的英文月 DateValue 份名称,全名或缩写均可。例如,除了 12/30/1991 和 12/30/91 之外,DateValue 也识别 DateValue December 30, 1991 和 Dec 30, 1991。 如果 date 中略去了年这一部分,DateValue 就会使用由计算机系统日期设置的当前年份。 DateValue 如果 date 参数包含时间信息,则 DateValue 不会返回它。但是,如果 date 包含无效时 间信息(如 89:98),则会导致错误发生。Day 函数返回一个 Variant (Integer Integer),其值为 1 到 31 之间的整数,表示一个月中的某一日。 Integer 语法 Day(date) 必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它 们的组合。如果 date 包含 Null,则返回 Null Null。DDB 函数返回一个 Double,指定一笔资产在一特定期间内的折旧。可使用双下落收复平衡方法或其 它指定的方法进行计算。 语法 DDB(cost, salvage, life, period[, factor]) ) DDB 函数具有下列命名参数: 部分 描述 必要。Double 指定资产的初始成本。 Double cost 必要。Double. Double.指定使用年限结束时的资产价值。 Double. salvage 必要。Double 指定资产可用的可用年限。 Double life 必要。Double 指定计算资产折旧所用的那一期间。 Double period factor可选。Variant 指定收复平衡下落时的速度。如果省略的话,2(双下落方法) 为缺省值。说明 双下落收复平衡方法用加速利率法计算折旧。在第一段时期,折旧为最高,而在接下来的期 间内降低。 例如, 如果 life 用月份表示, period 也 则 life 和 period 参数必须用相同的单位表示。 必须用月份表示。所有参数都必须是正值。 DDB 函数使用下列公式计算在一定时期后的折旧: 折旧 / period = ((cost C alvage) * factor) / lifeDir 函数返回一个 String String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文 件属性、或磁盘卷标相匹配。 语法 Dir[( Dir (pathname[, attributes])] , ) Dir 函数的语法具有以下几个部分: 描述 部分 pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱 动器。如果没有找到 pathname,则会返回零长度字符串 (&&)。 attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返 回匹配 pathname 但不包含属性的文件。 设置值 attributes 参数的设置可为: 常数 值 描述 0 (缺省) 指定没有属性的文件。 vbNormal 1 指定无属性的只读文件 vbReadOnly 2 指定无属性的隐藏文件 vbHidden 4 指定无属性的系统文件 在 Macintosh 中不可用。 VbSystem 8 指定卷标文件;如果指定了其它属性,则忽略 vbVolume 在 Macintosh vbVolume 中不可用。 指定无属性文件及其路径和文件夹。 vbDirectory 16 64 指定的文件名是别名,只在 Macintosh 上可用。 vbAlias 在程序代码中的任何位置, 可以使用这些常数来替换真 注意 这些常数是由 VBA 所指定的, 正的数值。 说明 在 Microsoft Windows 中, Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文 *) ?) 件。 在 Macintosh 中,这些字符作为合法文件名字符并且不能作为通配符来指定多个文件 由于 Macintosh 不支持通配符, 使用文件类型指定文件组。 可以使用 MacID 函数指定文件 类型而不用文件名。比如,下列语句返回当前文件夹中第一个 TEXT 文件的名称: Dir(&SomePath&, MacID(&TEXT&)) 为选中文件夹中所有文件,指定一空串: Dir(&&) 在 Microsoft Windows 中,如果在 Dir 函数中使用 MacID 函数,将产生错误。 任何大于 256 的 attribute 值都被认为是 MacID 函数的值。 否则会产生错误。 如果也指定了文件属性, 在第一次调用 Dir 函数时, 必须指定 pathname, 那么就必须包括 pathname。 若想得到其它匹配 pathname 的文件名, 再一 Dir 会返回匹配 pathname 的第一个文件名。 次调用 Dir Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字 符串 (&&)。一旦返回值为零长度字符串,并要再次调用 Dir 时,就必须指定 pathname, 否则会产生错误。不必访问到所有匹配当前 pathname 的文件名,就可以改变到一个新的 pathname 上。但是,不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。 提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后 再对这个数组排序。DoEvents 函数转让控制权,以便让操作系统处理其它的事件。 语法 DoEvents( ) 说明 DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目, 例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。 DoEvents DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。 DoEvents 对于简化诸如允许用户取消一个已启动的过程 ― 例如搜寻一个文件 ― 特别有 用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来 完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。 小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其 他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过 程以不可预知的方式进行交互操作, 那么也不要使用 DoEvents 因为此时不能放弃控制权。 DoEvents,Environ 函数返回 String String,它关连于一个操作系统环境变量。 在 Macintosh 中不可用 语法 Environ({ Environ( envstring | number}) ) Environ Environ 函数的语法含有以下这些命名参数: 部分 描述 可选参数。包含一个环境变量名的字符串表达式。 envstring 可选参数。数值表达式,用来表示环境字符串在环境字符串表格中的数值顺 number 序。number 参数可以是任意的数值表达式,不过在计算前,它会先转换为一 个整数。 说明 如果在环境字符串表格中找不到 envstring, 则会返回一个零长度字符串 (&&)。 如果找到, 则 Environ 会返回一段文本,文本是赋值给指定的 envstring 的,也就是说,在环境字 符串表格中对应那个环境变量的等号 (=) 后面的那段文本。 如果指定了 number,则在环境字符串表格中相应位置上的字符串会返回。在这种情况下, Environ 会返回整个文本,包括 envstring。如果在指定位置上没有环境字符串,那么 Environ 会返回一个零长度字符串。EOF 函数返回一个 Integer,它包含 Boolean 值 True True,表明已经到达为 Random 或顺序 Input 打 开的文件的结尾。 语法 EOF(filenumber) 必要的 filenumber 参数是一个 Integer,包含任何有效的文件号。 Integer, 说明 使用 EOF 是为了避免因试图在文件结尾处进行输入而产生的错误。 直到到达文件的结尾,EOF 函数都返回 False False。对于为访问 Random 或 Binary 而打开的 EOF 文件,直到最后一次执行的 Get 语句无法读出完整的记录时,EOF 都返回 False False。 EOF 对于为访问 Binary 而打开的文件,在 EOF 函数返回 True 之前,试图使用 Input 函数 读出整个文件的任何尝试都会导致错误发生。 在用 Input 函数读出二进制文件时, 要用 LOF 和 Loc 函数来替换 EOF 函数, 或者将 Get 函数与 EOF 函数配合使用。 对于为 Output 打 开的文件,EOF 总是返回 True True。 EOFError 函数返回对应于已知错误号的错误信息。 语法 Error[( Error (errornumber)] 这个可选的 errornumber 参数可以为任何有效的错误号。 如果 errornumber 是有效的错误 号,但尚未被定义,则 Error 将返回字符串“应用程序定义的错误或对象定义的错误”。 如果 errornumber 不是有效的错误号,则会导致错误发生。如果省略 errornumber,就会 返回与最近一次运行时错误对应的消息。如果没有发生运行时错误,或者 errornumber 是 0,则 Error 返回一个长度为零的字符串 (&&)。 说明 请检查 Err 对象的属性设置,以便认定最近一次运行时错误。Error 函数的返回值对应于 Error Err 对象的 Description 属性。Exp 函数返回 Double Double,指定 e(自然对数的底)的某次方。 语法 Exp(number) 必要的 number 参数 number 是 Double 或任何有效的数值表达式。 说明 如果 number 的值超过 709., 则会导致错误发生。 常数 e 的值大约是 2.718282。 注意 Exp 函数的作用和 Log 的作用互补,所以有时也称做反对数。FileAttr 函数返回一个 Long,表示使用 Open 语句所打开文件的文件方式。 语法 FileAttr(filenumber, returntype) FileAttr 函数的语法具有以下几个命名参数: 描述 部分 必要。Integer 类型,任何有效的文件号。 filenumber 必要。Integer 类型。它是数字,指出返回信息的类型。指定 1 则可返回 Integer Int returntype 一个代表文件方式的数值。而仅仅在 16 位系统中, 指定 2 才可以恢复 操作系统的文件句柄。在 32 位系统中不支持 Returntype 2,它会导致错 误发生。 返回值 当 returntype 参数值为 1 时,下列返回值指出文件访问方式: 方式 值 1 Input Output 2 Random 4 Append 8 Binary 32FileDateTime 函数返回一个 Variant (Date Date),此为一个文件被创建或最后修改后的日期和时间。 Date 语法 FileDateTime(pathname) 必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或 文件夹、以及驱动器。FileLen 函数返回一个 Long,代表一个文件的长度,单位是字节。 语法 FileLen(pathname) 必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或 文件夹、以及驱动器。 说明 当调用 FileLen 函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的 大小。 注意 若要取得一个打开文件的长度大小,使用 LOF 函数。Filter 函数描述 返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集。 语法 Filter(sourcesrray, match[, include[, compare]]) ) Filter 函数语法有如下的命名参数: 部分 描述 必需的。要执行搜索的一维字符串数组。 sourcearray 必需的。要搜索的字符串。 match includecompare设置值可选的。Boolean 值,表示返回子串包含还是不包含 match Boolean 字符串。如果 include 是 True Filter 返回的是包含 match True,Filter 子字符串的数组子集。如果 include 是 False Filter 返回 False,Filter 的是不包含 match 子字符串的数组子集。 可选的。数字值,表示所使用的字符串比较类型。有关其设 置,请参阅下面的“设置值”部分。Compare 参数的设置值如下:常数 vbUseCompareOption vbBinaryCompare vbTextCompare vbDatabaseCompare 值 C1 0 1 2 描述 使用 Option Compare 语句的设置值来执行比较。 执行二进制比较。 执行文字比较。 只用于 Microsoft Access。基于您的数据库信息来 执行比较。说明 如果在 sourcearray 中没有发现与 match 相匹配的值,Filter 返回一个空数组。如果 Filter sourcearray 是 Null 或不是一个一维数组,则产生错误。 Filter 函数所返回的数组,其元素数目刚好是所找到的匹配项目数。Int、 Int、Fix 函数返回参数的整数部分。 语法 Int(number) Fix( Fix(number) 必要的 number 参数是 Double 或任何有效的数值表达式。如果 number 包含 Null,则返 回 Null Null。 说明 Int 和 Fix 都会删除 number 的小数部份而返回剩下的整数。 如果 number 为负数, Int 返回小于或等于 number 的第 则 Int 和 Fix 的不同之处在于, 一个负整数, Fix 则会返回大于或等于 number 的第一个负整数。 而 例如, Int 将 -8.4 转 换成 -9,而 Fix 将 -8.4 转换成 -8。 Fix(number) 等于: Sgn(number) * Int(Abs(number))Format 函数返回 Variant (String String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。 String 语法 Format( Format expression[, format[, firstdayofweek[, firstweekofyear]]]) Format 函数的语法具有下面几个部分: 部分 说明 expression 必要参数。任何有效的表达式。 format 可选参数。有效的命名表达式或用户自定义格式表达式。 firstdayofweek 可选参数。常数,表示一星期的第一天。 firstweekofyear 可选参数。常数,表示一年的第一周。 设置值firstdayofweek 参数有下面设置:常数 vbUseSystem VbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday 值 0 1 2 3 4 5 6 7 说明 使用 NLS API 设置。 星期日(缺省) 星期一 星期二 星期三 星期四 星期五 星期六 参数有下面设置: 值 说明 0 使用 NLS API 设置。 1 从包含一月一日的那一周开始(缺省)。 2 从本年第一周开始,而此周至少有四天在本年中。 3 从本年第一周开始,而此周完全在本年中。firstweekofyear常数 vbUseSystem vbFirstJan1 vbFirstFourDays VbFirstFullWeek 说明 格式化 数字 日期和时间作法 使用预先定义的命名数值格式或创建用户自定义数值格式。 使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格 式。 日期和时间序数 使用日期和时间格式或数值格式。 字符串 创建自定义的字符串格式。 如果在格式化数字时没有指定 format,Format 会提供与 Str 函数类似的功能,尽管它是 Format 国际化的。然而,以 Format 作用在正数上不会保留正负号空间,而以 Str 的话则会。 如果要格式化一个没有本地化的数值字符串, 应该使用一个用户自定义的数值格式, 以保证 得到需要的外观。 注意 如果 Calendar 属性设置是 Gregorian ,并且 format 指定了日期格式,那么,提供 的 expression 必须是 Gregorian 。如果 Visual Basic Calendar 属性设置是 Hijri,则 提供的的 expression 必须是 Hijri 。 如果日历是 Gregorian,则 format 表达式的意义没有改变。如果日历是 Hijri ,则所有的 日期格式符号(例如,dddd, mmmm, yyyy )有相同的意义,这些意义只应用于 Hijri 日历。 格式符号保持英文,用于文本显示的符号(例如,AM 和 PM )显示与该符号有关的字符串 (英文或阿拉伯数字)。当日历是 Hijri 时,一些符号的范围会改变。 符号 范围 d 1-30 dd 1-30 ww 1-51 mmm 显示完整的月份名称 (Hijri 月份名称无缩 写形式) y 1-355 yyyy 100-9666 FormatCurrency 函数描述 返回一个货币值格式的表达式,它使用系统控制面板中定义的货币符号。 语法 FormatCurrency(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit , , [,UseParensForNegativeNumbers [,GroupDigits]]]]) , ) , FormatCurrency 函数语法有如下几部分: 部分 描述 Expression 必需的。要格式化的表达式。 NumDigitsAfterDecimal 可选的。数字值,表示小数点右边的显示位数。缺省值为 C1,表示使用计算机的区域设置值。 IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示一个零。关于 其值,请参阅“设置值”部分。 UseParensForNegativeNumbers 可选的。三态常数,表示是否把负数值放在园括号内。关 于其值,请参阅“设置值”部分。 GroupDigits 可选的。 三态常数, 表示是否用组分隔符对数字进行分组, 组分隔符由计算机的区域设置值指定。关于其值,请参阅 “设置值”部分。 设置值IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits 参数的设置值如下: 常数 True vbTrue False vbFalse 使用计算机区域设置中的设置值。 vbUseDefault 说明 当忽略一个或多个选项参数时,被忽略的参数值由计算机的区域设置值提供。 货币符号相对货币值的位置由计算机的区域设置值确定。 区域设置”的“货币 货币”选项卡,起始的零 注意 除起始的零外,所有设置值信息都来自“区域设置 区域设置 货币 来自“数字 数字”选项卡。 数字 值 C1 0 C2 描述FormatDateTime 函数描述 返回一个日期或时间格式的表达式。 语法 FormatDateTime(Date[,NamedFormat]) , ) FormatDateTime 函数语法有如下几部分: 部分 描述 Date 必需的。要被格式化的日期表达式。 NamedFormat 可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用 vbGeneralDate。 vbGeneralDate 设置值 NamedFormat 参数的设置值如下:常数 vbGeneralDate 值 0 描述 显示日期和/或时间。如果有日期部分,则用短日期格 式显示。如果有时间部分,则用长时间格式显示。如果 都有,两部分都显示。 用计算机区域设置值中指定的长日期格式显示日期。 用计算机区域设置值中指定的短日期格式显示日期。 用计算机区域设置值中指定的时间格式显示时间。 用 24 小时格式(hh:mm)显示时间。vbLongDate vbShortDate vbLongTime vbShortTime1 2 3 4FormatNumber 函数描述 返回一个数字格式的表达式。 语法 FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit , , [,UseParensForNegativeNumbers [,GroupDigits]]]]) , ) , FormatNumber 函数语法有如下几部分: 部分 描述 Expression 必需的。要被格式化的表达式。 NumDigitsAfterDecimal 可选的。数字值,表示小数点右边的显示位数。缺省值为 C1,表示使用计算机的区域设置值。 IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示零。关于其值, 请参阅“设置值”部分。 UseParensForNegativeNumbers 可选的。三态常数,表示是否把负数值放在圆括号内。关 于其值,请参阅“设置值”部分。 GroupDigits 可选的。的三态常数,表示是否用组分隔符对数字分组, 组分隔符在计算机的区域设置值中指定。关于其值,请参 阅“设置值”部分。 设置值 IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits 参数的设置值如下: 常数 值 描述 C1 True vbTrue 0 False vbFalse C2 用计算机区域设置值中的设置值。 vbUseDefault 说明 当忽略一个或多个选项参数时,被忽略的参数值由计算机的区域设置值提供。 区域设置”的“数字 数字”选项卡。 注意 所有设置值信息都来自“区域设置 区域设置 数字FormatPercent 函数描述 返回一个百分比格式(乘以 100)的表达式,后面有%符号。 语法 FormatPercent(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit , , [,UseParensForNegativeNumbers [,GroupDigits]]]]) , ) , FormatPercent 函数语法有如下几部分: 部分 描述 Expression 必需的。要格式化的表达式。 NumDigitsAfterDecimal 可选的。表示小数点右边的显示位数。缺省值为C1,表示 使用计算机的区域设置值。 IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示零。关于其值, 请参阅“设置值”部分。 UseParensForNegativeNumbers 可选的。三态常数,表示是否把负数放在圆括号内。关于 其值,请参阅“设置值”部分。 GroupDigits 可选的。 三态常数, 表示是否用组分隔符对数字进行分组, 组分隔符在计算机的区域设置值中指定。关于其值,请参 阅“设置值”部分。 设置值 IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits 参数的设置值如下: 值 描述 常数 C1 True vbTrue 0 False vbFalse C2 使用计算机区域设置值中的设置值。 vbUseDefault 说明 当忽略一个或多个选项参数时,被忽略的参数值由计算机的区域设置值提供。 区域设置”的“数字 数字”选项卡。 注意 所有的设置值信息都来自“区域设置 区域设置 数字FreeFile 函数返回一个 Integer,代表下一个可供 Open 语句使用的文件号。 , 语法 FreeFile[( FreeFile (rangenumber)] 可选的参数 rangenumber 是一个 Variant,它指定一个范围,以便返回该范围之内的下一 , 个可用文件号。指定 0(缺省值)则返回一个介于 1 C 255 之间的文件号。指定 1 则返 回一个介于 256 C 511 之间的文件号。 说明 使用 FreeFile 提供一个尚未使用的文件号。FV 函数返回一个 Double,指定未来的定期定额支付且利率固定的年金。 语法 FV(rate, nper, pmt[, pv[, type]]) ) FV 函数有下列命名参数: 部分 描述 必要。Double Double,指定每一期的利率。例如,如果有一笔贷款年百分率 (APR) 为百 Double rate 分之十且按月付款的汽车贷款,则利率为 0.1/12 或 0.0083。 必要。Integer,指定一笔年金的付款总期限。例如,如果对一笔为期四年的汽车 nper pmt pvtype贷款选择按月付款方式,则贷款期限共有 4 * 12(或 48)个付款期。 必要。Double 指定每一期的付款金额。付款金额通常包含本金和利息,而且此付 Double 款金额在年金的有效期间是不会改变的。 可选。Variant,指定未来一系列付款(或一次付清款项)的现值。例如,当借钱 , 买一辆汽车时时, 向贷方所借的金额为未来每月付款给贷方的现值。 如果省略的话, 缺省值为 0。 可选。Variant,指定贷款到期时间。如果贷款在贷款周期结束时到期,请使用 0。 Variant, Variant 如果贷款在周期开始时到期,请使用 1。如果省略的话,缺省值为 0。说明 年金是一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一 笔投资(如按月储蓄计划)。 在支付期间,必须用相同的单位来计算 rate 和 nper 参数。例如,如果 rate 用月份来计 算,则 nper 也必须用月份来计算。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。GetAllSettings 函数从 Windows 注册表 或 (Macintosh 中)应用程序初始化文件中的信息中返回应用程序项目 的所有注册表项设置及其相应值(开始是由 SaveSetting 产生)。 语法 GetAllSettings(appname, section) GetAllSettings 函数的语法具有下列命名参数: 部分 描述 appname 必要。字符串表达式,包含应用程序或工程的名称,并要求这些应用程序或工程 有注册表项设置 在 Macintosh 中, 这是 System 文件夹中 Preferences 文件夹中 初始化文件的文件名。 section 必要。字符串表达式,包含区域名称,并要求该区域有注册表项设置。 GetAllSettings 返回 Variant,其内容为字符串的二维数组,该二维数组包含 指定区域中的所有注册表项设置及其对应值。 说明 如果 appname 或 section 不存在,则 GetAllSettings 返回未初始化的 Variant Variant。GetAttr 函数返回一个 Integer Integer,此为一个文件、目录、或文件夹的属性。 语法 GetAttr(pathname) 必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或 文件夹、以及驱动器。 返回值 由 GetAttr 返回的值,是下面这些属性值的总和: 常数 值 描述 0 常规 vbNormal 1 只读 vbReadOnly 2 隐藏 vbHidden 4 系统文件 在 Macintosh 中不可用。 vbSystem 16 目录或文件夹 vbDirectory 32 上次备份以后 在 Macintosh 中不可用.,文件已经改变 vbArchive 64 指定的文件名是别名。 只在 Macintosh 中可用。 vbalias 在程序代码中的任何位置, 可以使用这些常数来替换真正 注意 这些常数是由 VBA 指定的, 的值。 说明 若要判断是否设置了某个属性, GetAttr 函数与想要得知的属性值之间使用 And 运算符 在 与逐位比较。如果所得的结果不为零,则表示设置了这个属性值。例如,在下面的 And 表 达式中,如果档案 (Archive) 属性没有设置,则返回值为零: Result = GetAttr(FName) And vbArchive 如果文件的档案属性已设置,则返回非零的数值。GetObject 函数返回文件中的 ActiveX 对象的引用。 语法 GetObject([ GetObject( pathname] [, class]) , ) GetObject 函数的语法包含下面几个命名参数: 描述 部分 可选的;Variant (String String)。包含待检索对象的文件的全路径和名称。如果 Variant String pathname 省略 pathname,则 class 是必需的。 class 可选的;Variant (String String)。代表该对象的类的字符串。 Variant String class 其中,class 参数的语法格式为 appname.objecttype,且语法的各个部分如下: 部分 描述 appname 必需的;Variant (String String)。提供该对象的应用程序名称。 Variant String objecttype 必需的;Variant (String String)。待创建对象的类型或类。 Variant String 说明 使用 GetObject 函数可以访问文件中的 ActiveX 对象,而且可以将该对象赋给对象变量。 可以使用 Set 语句将 GetObject 返回的对象赋给对象变量。例如: GetObject Dim CADObject As Object Set CADObject = GetObject(&C:\CAD\SCHEMA.CAD&) 当执行上述代码时, 就会启动与指定的 pathname 相关联的应用程序, 同时激活指定文件中 的对象。 如果 pathname 是一个零长度的字符串 (&&),则 GetObject 返回指定类型的新的对象实 例。如果省略了 pathname 参数,则 GetObject 返回指定类型的当前活动的对象。如果当 前没有指定类型的对象,就会出错。 有些应用程序允许只激活文件的一部分,其方法是在文件名后加上一个惊叹号 (!) 以及用 ! 于标识想要激活的文件部分的字符串。 关于如何创建这种字符串的信息, 请参阅有关应用程 序创建对象的文档。 例如,在绘图应用程序中,一个存放在文件中的图可能有多层。可以使用下述代码来激活图 中被称为 SCHEMA.CAD 的层: Set LayerObject = GetObject(&C:\CAD\SCHEMA.CAD!Layer3&) 如果不指定对象的 class, 则自动化会根据所提供的文件名, 来确定被启动的应用程序以及 被激活的对象。不过,有些文件可能不止支持一种对象类。例如,图片可能支持三种不同类 型的对象:Application 对象,Drawing 对象,以及 Toolbar 对象,所有这些都是同一个 Application Drawing 文件中的一部分。为了说明要具体激活文件中的哪种对象,就应使用这个可选的 class 参 数。例如: Dim MyObject As Object Set MyObject = GetObject(&C:\DRAWINGS\SAMPLE.DRW&, &FIGMENT.DRAWING&) 在上述例子中,FIGMENT 是一个绘图应用程序的名称,而 DRAWING 则是它支持的一种对象 类型。 对象被激活之后,就可以在代码中使用所定义的对象变量来引用它。在前面的例子中,可以 使用对象变量 MyObject 来访问这个新对象的属性和方法。例如: MyObject.Line 9, 90 MyObject.InsertText 9, 100, &Hello, world.& MyObject.SaveAs &C:\DRAWINGS\SAMPLE.DRW& 注意 当对象当前已有实例,或要创建已加载的文件的对象时,就使用 GetObject 函数。如 果对象当前还没有实例,或不想启动已加载文件的对象,则应使用 CreateObject 函数。 如果对象已注册为单个实例的对象,则不管执行多少次 CreateObject CreateObject,都只能创建该对象 的一个实例。若使用单个实例对象,当使用零长度字符串 (&&) 语法调用时,GetObject 总 GetObject 是返回同一个实例,而若省略 pathname 参数,就会出错。不能使用 GetObject 来获取 Visual Basic 创建的类的引用。GetSetting 函数从 Windows 注册表中 或 (Macintosh 中)应用程序初始化文件中的信息的应用程序项目返 回注册表项设置值。 语法 , ) GetSetting(appname, section, key[, default]) GetSetting 函数的语法具有下列命名参数: 部分 描述 appname 必要。字符串表达式,包含应用程序或工程的名称,要求这些应用程序或工程有 注册表项设置。 在 Macintosh 中,这是 System 文件夹中 Preferences 文件夹中 初始化文件的文件名。 section 必要。字符串表达式,包含区域名称,要求该区域有注册表项设置。 必要。字符串表达式,返回注册表项设置的名称。 key default 可选。表达式,如果注册表项设置中没有设置值,则返回缺省值。如果省略,则 default 取值为长度为零的字符串 (&&)。 说明 如果 GetSetting 的参数中的任何一项都不存在,则 GetSetting 返回 default 的值。Hex 函数返回代表十六进制数值的 String。 语法 Hex( Hex number) 必要的 number 参数为任何有效的数值表达式或字符串表达式。 说明 如果 number 还不是一个整数,那么在执行前会先被四舍五入成最接近的整数。 如果 number 为 所得为 Null Null Empty 零 (0) 任何其他的数字 最多可到八个十六进制字符。 适当范围内的数字, 前缀以 &H, 可以直接表示十六进制数字。 例如, 十六进制表示法的 &H10 代表十进制的 16。Hour 函数返回一个 Variant (Integer Integer),其值为 0 到 23 之间的整数,表示一天之中的某一钟点。 Integer 语法 Hour(time) 必要的 time 参数,可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它 们的组合。如果 time 包含 Null,则返回 Null Null。IIf 函数根据表达式的值,来返回两部分中的其中一个。 语法 IIf(expr, truepart, falsepart) IIf 函数的语法含有下面这些命名参数: 描述 部分 必要参数。用来判断真伪的表达式。 expr 必要参数。如果 expr 为 True True,则返回这部分的值或表达式。 truepart False,则返回这部分的值或表达式。 falsepart 必要参数。如果 expr 为 False 说明 由于 IIf 会计算 truepart 和 falsepart,虽然它只返回其中的一个。因此要注意到这个 副作用。例如,如果 falsepart 产生一个被零除错误,那么程序就会发生错误,即使 expr 为 True True。IMEStatus 函数返回一个 Integer,用来指定当前 Microsoft Windows 的输入法 (IME) 方式;只对东亚区 版本有效。 语法 IMEStatus 返回值 下面是日本区域的返回值: 常数 值 描述 vbIMEModeNoControl 0 不控制 IME(缺省) vbIMEModeOn 1 打开 IME vbIMEModeOff 2 关闭 IME vbIMEModeDisable 3 IME 无效 vbIMEModeHiragana 4 完整宽度 Hiragana 模式 vbIMEModeKatakana 5 完整宽度 Katakana 片假名模式 vbIMEModeKatakanaHalf 6 半宽 Katakana 模式 mode vbIMEModeAlphaFull 7 完整宽度 Alphanumeric 模式 mode vbIMEModeAlpha mode 8 下面是韩国地区的返回值: 值 常数 vbIMEModeAlphaFull 7 vbIMEModeAlpha 8 vbIMEModeHangulFull 9 10 vbIMEModeHangul 下面是中文地区的返回值: 常数 值 vbIMEModeNoControl 0 vbIMEModeOn 1 2 vbIMEModeOff半宽 Alphanumeric 模式 描述 完整宽度 Alphanumeric 模式 半宽 Alphanumeric 模式 完整宽度 Hangul 模式 半宽 Hangul 模式 描述 不控制 IME(缺省) 打开 IME 关闭 IMEInput 函数返回 String,它包含以 Input 或 Binary 方式打开的文件中的字符。 语法 # Input(number, [#]filenumber) Input 函数的语法具有以下几个部分: 部分 描述 number 必要。任何有效的数值表达式,指定要返回的字符个数。 filenumber 必要。任何有效的文件号。 说明 通常用 Print # 或 Put 将 Input 函数读出的数据写入文件。Input 函数只用于以 Input Input 或 Binary 方式打开的文件。 与 Input # 语句不同,Input 函数返回它所读出的所有字符,包括逗号、回车符、空白列、 Input 换行符、引号和前导空格等。 对于 Binary 访问类型打开的文件, 如果试图用 Input 函数读出整个文件, 则会在 EOF 返 回 True 时产生错误。 在用 Input 读出二进制文件时, 要用 LOF 和 Loc 函数代替 EOF 函 数,而在使用 EOF 函数时要配合以 Get 函数。 对于 InputB 来说, number 指 注意 对于文本文件中包含的字节数据要使用 InputB 函数。 定的是要返回的字节个数,而不是要返回的字符个数。InputBox 函数在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。 语法 InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context]) ) InputBox 函数的语法具有以下几个命名参数: 部分 描述 必需的。 作为对话框消息出现的字符串表达式。 Prompt prompt 的最大长度大约是 1024 个字符,由所用字符的宽度决定。如果 prompt 包含多个行,则可在各行之间 用回车符 (Chr( ))、换行符 (Chr( )) 或回车换行符的组合 (Chr( ) & Chr(13) Chr(10) Chr(13) Chr( Chr( Chr( Chr(10) Chr( )) 来分隔。 可选的。显示对话框标题栏中的字符串表达式。如果省略 title,则把应用程 Title Default Xpos Ypos Helpfile Context序名放入标题栏中。 可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果 省略 default,则文本框为空。 default, 可选的。数值表达式,成对出现,指定对话框的左边与屏幕左边的水平距离。 如果省略 xpos,则对话框会在水平方向居中。 可选的。数值表达式,成对出现,指定对话框的上边与屏幕上边的距离。如果 省略 ypos,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。 可选的。字符串表达式,识别帮助文件,用该文件为对话框提供上下文相关的 帮助。如果已提供 helpfile,则也必须提供 context。 可选的。数值表达式,由帮助文件的作者指定给某个帮助主题的帮助上下文编 号。如果已提供 context,则也必须要提供 helpfile。 context说明 如果同时提供了 helpfile 与 context,用户可以按 F1 (Windows) or HELP (Macintosh) 来查看与 context 相应的帮助主题。某些主应用程序,例如,Microsoft Excel,会在对话 框中自动添加一个 Help 按钮。如果用户单击 OK 或按下 ENTER ,则 InputBox 函数返回 文本框中的内容。如果用户单击 Cancel Cancel,则此函数返回一个长度为零的字符串 (&&)。 则必须在表达式中使用 InputBox 如果要 InputBox。 注意 如果还要指定第一个命名参数以外的参数, 省略某些位置参数,则必须加入相应的逗号分界符。InStr 函数返回 Variant (Long Long),指定一字符串在另一字符串中最先出现的位置。 Long 语法 InStr([ InStr start, ]string1, string2[, compare]) InStr 函数的语法具有下面的参数: 部分 说明 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字 start 符的位置开始。 如果 start 包含 Null, 将发生错误。 如果指定了 compare 参 compare 数,则一定要有 start 参数。 必要参数。接受搜索的字符串表达式。 string1 必要参数。被搜索的字符串表达式。 string2 可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省 Compare 略 compare,Option Compare 的设置将决定比较的类型。指定一个有效的 Option LCID (LocaleID) 以在比较中使用与区域有关的规则。 设置 compare 参数设置为: 常数 值 描述 -1 使用 Option Compare 语句设置执行一个比 vbUseCompareOption 较。 0 执行一个二进制比较。 vbBinaryCompare 1 执行一个按照原文的比较。 vbTextCompare 2 仅适用于 Microsoft Access,执行一个基 vbDatabaseCompare 于数据库中信息的比较。 返回值 InStr 返回 如果 string1 为零长度 string1 为 Null string2 为零长度 string2 为 Null string2 找不到 在 string1 中找到 string2 start & string20 NullStartNull 0 找到的位置 0说明 InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是 字符位置。InStrRev 函数描述 返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。 语法 , , ) InstrRev(stringcheck, stringmatch[, start[, compare]]) InstrRev 函数语法有如下命名参数: 部分 描述 必需的。要执行搜索的字符串表达式。 stringcheck 必需的。要搜索的字符串表达式。 stringmatch start 可选的。 数值表达式, 设置每次搜索的开始位置。 如果忽略, 则使用C1, 它表示从上一个字符位置开始搜索。如果 start 包含 Null,则产生一个 错误。 compare 可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略, 则执行二进制比较。关于其值,请参阅“设置值”部分。 设置值 compare 参数值如下: 常数 值 描述 用 Option Compare 语句的设置值来执行比较。 vbUseCompareOption C1 0 执行二进制比较。 vbBinaryCompare 1 执行文字比较。 vbTextCompare 2 只用于 Microsoft Access。基于您的数据库信息执 vbDatabaseCompare 行比较。 返回值 InStrRev 返回值如下: 如果 InStrRev 返回 0 stringcheck 长度为零。 Null。 Null stringcheck 为 Null Start stringmatch 长度为零 Null stringmatch 为 Null stringmatch 0 stringmatch 没有找到。 找到匹配字符串的位 stringmatch 在 stringcheck 中找到。 置。 start & Len(stringmatch)0说明 请注意,InstrRev 函数的语法和 Instr 函数的语法不相同。 InstrRevIPmt 函数返回一个 Double,指定在一段时间内对定期定额支付且利率固定的年金所支付的利息值。 语法 ) IPmt(rate, per, nper, pv[, fv[, type]]) IPmt 函数有下列命名参数: 部分 描述 必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分率 (APR) 为百分 Double Doub rate 之十且按月付款的汽车贷款,则每一期的利率为 0.1/12,或 0.0083。 必要。Double 指定在 nper 间范围 1 中的付款周期。 Double per 必要。Double 指定一笔年金的付款总期数。例如,如果在一笔为期四年的汽车贷 Double nper 款中选择按月付款方式,则贷款共有 4 * 12(或 48)个付款期。 必要。Double Double,指定未来一系列付款或收款的现值。例如,当借钱买汽车时,向贷 Double pv 方所借金额为将来每月偿付给贷方款项的现值。 可选。Variant 指定在付清贷款后所希望的未来值或现金结存。例如,贷款的未来 fv 值在贷款付清后为 0 美元。但是,如果想要在 18 年间存下 50,000 美元作为子 女教育基金,那么 50,000 美元为未来值。如果省略的话,缺省值为 0。 可选。Variant 指定贷款到期时间。如果贷款在贷款周期结束时到期,请使用 0。 Variant type 如果贷款在周期开始时到期,请使用 1。如果省略的话,缺省值为 0。 说明 年金是指在一段时间内的一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可 以是一笔投资(如按月储蓄计划)。 在支付期间必须用相同的单位计算 rate 和 nper 参数。例如,如果 rate 用月份计算,则 nper 也必须用月份计算。 对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。IRR 函数返回一个 Double,指定一系列周期性现金流(支出或收入)的内部利率。 语法 ()[, IRR(values() guess]) ) IRR 函数有下列命名参数: 部分 描述 values() 必要。Double 数组,指定现金流值。此数组必须至少含有一个负值(支付) Double 和一个正值(收入)。 可选。Variant,指定 IRR 返回的估算值。如果省略,guess 为 0.1 (10%)。 Guess 说明 返回的内部利率是在正常的时间间隔内,一笔含有支出及收入的投资得到的利率。 IRR 函数使用数组中数值的顺序来解释支付和收入的顺序。要确保支付和收入的顺序正确。 每一时期的现金流不必像年金那样固定不变。 IRR 是利用叠代进行计算。先从 guess 的值开始,IRR 反复循环进行计算,直到精确度达 IRR 到 0.00001%。如果经过 20 次反复叠代测试还不能得到结果,则 IRR 计算失败。 IsArray 函数返回 Boolean 值,指出变量是否为一个数组。 语法 IsArray(varname) 必要的 varname 参数是一个指定变量的标识符。 说明 如果变量是数组,则 IsArray 返回 True True;否则返回 False False。对于包含数组的 variant 表 达式来说,IsArray 尤为有用。 IsArrayIsDate 函数返回 Boolean 值,指出一个表达式是否可以转换成日期。 语法 IsDate(expression) 必要的 expression 参数是一个 Variant, 包含日期表达式或字符串表达式, 这里的字符串 表达式是可以作为日期或时间来认定的。 说明 如果表达式是一个日期,或可以作为有效日期识别,则 IsDate 返回 True True;否则返回 False。在 Microsoft Windows 中,有效日期的范围介于公元 100 年 1 月 1 日与公元 False 9999 年 12 月 31 日之间;其有效范围随操作系统不同而不同。IsEmpty 函数返回 Boolean 值,指出变量是否已经初始化。 语法 IsEmpty(expression) 必要的 expression 参数是一个 Variant,包含一个数值或字符串表达式。但是,因为 IsEmpty 被用来确定个别变量是否已初始化,所以 expression 参数通常是单一变量名。 说明 如果变量未初始化或已明确设置为 Empty,则 IsEmpty 返回 True True;否则返回 False False。如 果 expression 含有多个变量,则 IsEmpty 总是返回 False IsEmpty 只返回对 variant False。IsEmpty 表达式有意义的信息。IsError 函数返回 Boolean 值,指出表达式是否为一个错误值。 语法 IsError(expression) 必需的 expression 参数,可以是任何有效表达式。 说明 利用 CVErr 函数将实数转换成错误值就会建立错误值。IsError 函数被用来确定一个数值 IsError 表达式是否表示一个错误。如果 expression 参数表示一个错误,则 IsError 返回 True True; 否则返回 False False。IsMissing 函数返回 Boolean 值,指出一个可选的 Variant 参数是否已经传递给过程。 语法 IsMissing(argname) 必要的 argname 参数包含一个可选的 Variant 过程参数名。 说明 使用 IsMissing 函数来检测在调用一个程序时是否提供了可选 Variant 参数。如果对特 定参数没有传递值过去,则 IsMissing 返回 True True;否则返回 False False。如果 IsMissing 对 某个参数返回 True True,则在其它代码中使用这个丢失的参数将产生一个用户自定义的错误。 如果对 ParamArray 参数使用 IsMissing IsMissing,则函数总是返回 False False。为了检测空的 ParamArray,可试看一下数组的上界是否小于它的下界。 ParamArray (例如 Integer 或 Double) Double) 不起作用, 因为与 Variants 注意 IsMissing 对简单数据类型 不同,它们没有“丢失”标志位的前提。正由于此,对于可选参数类型,可以指定缺省值。 如果调用过程时,参数被忽略,则该参数将具有该缺省值,如下列示例中所示: Sub MySub(Optional MyVar As String = &specialvalue&) If MyVar = &specialvalue& Then ' MyVar 被忽略。 Else ... End Sub 在许多情况下,如果用户从函数调用中忽略,则可以通过使缺省值等于希望 MyVar 所包含 的值来完全忽略 If MyVar 测试。这将使您的代码更简洁有效。IsNull 函数返回 Boolean 值,指出表达式是否不包含任何有效数据 (Null)。 语法 IsNull(expression) 必要的 expression 参数是一个 Variant,其中包含数值表达式或字符串表达式。 说明 如果 expression 为 Null,则 IsNull 返回 True Null, True;否则 IsNull 返回 False False。如果 expression 由多个变量组成,则表达式的任何作为变量组成成分的 Null 都会使整个表达 式返回 True True。 Null 值指出 Variant 不包含有效数据。Null 与 Empty 不同,后者指出变量尚未初始化。 Null Null 与长度为零的字符串 (““) 也不同,长度为零的字符串指的是空串。 重要 使用 IsNull 函数是为了确定表达式是否包含 Null 值的。在某些情况下,希望表达 式取值为 True True,比如希望 If Var = Null 和 If Var && Null 取值为 True True,而它们总取 值为 False False。这是因为任何包含 Null 的表达式本身就是 Null,所以为 False Null, False。IsNumeric 函数返回 Boolean 值,指出表达式的运算结果是否为数。 语法 IsNumeric(expression) 必要的 expression 参数是一个 Variant,包含数值表达式或字符串表达式。 说明 如果整个 expression 的运算结果为数字,则 IsNumeric 返回 True True;否则返回 False False。 False。 如果 expression 是日期表达式,则 IsNumeric 返回 False IsObject 函数返回 Boolean 值,指出标识符是否表示对象变量。 语法 IsObject(identifier) 必要的 identifier 参数是一个变量名。 说明 vbObject。如果 Variant 实际引用(或 IsObject 只用于确定 Variant 是否属于 VarType vbObject 曾经引用过)一个对象,或者如果 Variant 包含 Nothing Nothing,则可能出现这种情况。 如果 identifier 是 Object 类型或任何有效的类类型,或者,如果 identifier 是 True;否则返回 VarType vbObject 的 Variant 或用户自定义的对象,则 IsObject 返回 True False。即使变量已设置成 Nothing IsObject 也仍返回 True Nothing,IsObject True。 False 使用错误捕获方法可以确认对象引用是否有效。Join 函数描述 返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。 语法 ) Join(sourcearray[, delimiter]) Join 函数语法有如下命名参数: 部分 描述 sourcearray 必需的。包含被连接子字符串的一维数组。 delimiter 可选的。在返回字符串中用于分隔子字符串的字符。如果忽略该项,则使用 空格(& &)来分隔子字符串。如果 delimiter 是零长度字符串(&&),则列表 中的所有项目都连接在一起,中间没有分隔符。LBound 函数返回一个 Long 型数据,其值为指定数组维可用的最小下标。 语法 LBound(arrayname[, dimension]) , ) LBound 函数的语法包含下面部分: 部分 描述 arrayname 必需的。数组变量的名称,遵循标准的变量命名约定。 dimension 可选的;Variant (Long Long)。指定返回哪一维的下界。1 表示第一维,2 表 Variant Long 示第二维,如此类推。如果省略 dimension,就认为是 1。 说明 LBound 函数与 UBound 函数一起使用,用来确定一个数组的大小。UBound 用来确定数组 UBound 某一维的上界。 对具有下述维数的数组而言,LBound 的返回值见下表: LBound Dim A(1 To 100, 0 To 3, -3 To 4) 语句 返回值 LBound(A, 1) 1 LBound(A, 2) 0 LBound(A, 3) -3 所有维的缺省下界都是 0 或 1,这取决于 Option Base 语句的设置。使用 Array 函数创 建的数组的下界为 0;它不受 Option Base 的影响。 对于那些在 Dim 中用 To 子句来设定维数的数组而言, Private、 Public、 Private、 Public、 ReDim 或 Static 语句可以用任何整数作为下界。LCase 函数返回转成小写的 String。 语法 LCase( LCase string) 必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。 说明 只有大写的字母会转成小写;所有小写字母和非字母字符保持不变。Left 函数返回 Variant (String String),其中包含字符串中从左边算起指定数量的字符。 String 语法 Left( Left string, length) Left 函数的语法有下面的命名参数: 部分 说明 必要参数。字符串表达式其中最左边的那些字符将被返回。如果 string 包含 string Null,将返回 Null。 必要参数; Variant (Long 数值表达式, 为 Variant Long Long)。 指出将返回多少个字符。 如果为 0, length 返回零长度字符串 (&&)。如果大于或等于 string 的字符数,

我要回帖

更多关于 perl 正则表达式 变量 的文章

 

随机推荐