VBScript 函数

  1. 转换函数
  2. 数学函数
  3. 三角函数
  4. 字符串函数
  5. 日期时间函数
  6. 数组函数
  7. 对象函数
  8. 其他函数
  9. 派生数学函数

转换函数

函数 意义
cBool(expr) 表达式转布尔值
cByte(expr) 表达式转字符值
CCur(expr) 表达式转货币数值
CDate(expr) 表达式转日期值
CDbl(expr) 表达式转浮点数
CInt(expr) 表达式转整数
CLng(expr) 表达式转长整数
CSng(expr) 表达式转浮点数
CStr(expr) 表达式转字符串
Hex(num) 数字转十六进制字符串
Oct(num) 数字转八进制字符串
Asc(string) 取字符 ASCII 码值
FormatDateTime(date,fmt) 格式化日期,fmt=0-4
FormatCurrency(n [,dec][,dig][,neg][,grp]) 格式化金额,$1,234.56
FormatNumber(n [,dec][,dig][,neg][,grp]) 格式化数字,1,234.56
FormatPercent(n [,dec][,dig][,neg][,grp]) 格式化百分数,12.34%

格式化函数参数

使用 vbUseDefault=-2 时根据系统区域设置确定。

参数 意义
dec 保留的小数位置,默认为 2
dig 是否显示纯小数的 0,默认为 false
neg 是否用括号表示负数,默认为 false
grp 是否使用分节符,默认为 true

数学函数

函数 意义
Exp(number) e^number
Abs(number) 数字绝对值
Int(number) 取整数
Fix(number) 取整数
Log(number) 自然对数
Sgn(number) 取数的符号
Sqr(number) 平方根
Rnd[(number)] 随机数
Round(expr[,dec]) 四舍五入
RGB(red,green,blue) 生成颜色值

三角函数

角度单位:弧度。参阅 派生数学函数

函数 意义
Atn(number) 反正切
Cos() 余弦
Sin(number) 正弦
Tan(number) 正切

字符串函数

函数 意义
LCase(string) 字符串转小写
Left(string,length) 取字符串左边部分
Len(string | type) 取字符串或变量大小
LTrim(string) 字符串去左空
RTrim(string) 字符串去右空
Trim(string) 字符串去左右空
InStr([start,]str1,str2[,compare]) 查子串位置
InStrRev(str1,str2[,start][,compare]) 倒查子串位置
Mid(string,start[,length]) 取字符串中间部分
Replace(expr,find,repto[,compare][,count][,start]) 字符串替换
Right(string,length) 取字符串右边部分
Space(number) 生成空格串
StrComp(str1,str2[,compare]) 字符串比较
String(count,str|int) 字符串重复连接
StrReverse(string) 字符串倒置
UCase(string) 字符串转大写

日期时间函数

函数 意义
DateValue(字符串) 字符串转日期
Date 当前日期
DateAdd(interval,number,date) 日期计算
DateDiff(interval,date1,date2) 日期差异
DatePart(interval,date) 取日期内容
DateSerial(y,m,d) 生成日期
Day(date) 取日
Minute(time) 取分钟数
Month(date) 取月份数
MonthName(date) 取月份英文串
Hour(time) 取小时数
Now 当前日期时间
Second(time) 取秒数
Time 当前时间
Timer 当天已过秒数
Weekday(date[,firstday]) 返回日期是周的第几天,1-7

firstday 指定周开始日,0-7

0=系统默认,1=星期日,2=星期一,...

WeekDayName(date,是否缩写,firstday) 返回星期英文
Year(date) 取年份
TimeSerial(h,m,s) 生成时间
TimeValue(expr) 转换成时间

数组函数

函数 意义
Array([v1,v2,...]) 生成数组,下标从 0 起
Split(expr[,分界符[,count[,compare]]]) 将字符串拆成数组返回,下标从 0 起

分界符默认为空格,若为空,则返回包含整个串的数组

count 指定拆分的最大份数,默认-1无限

compare 指定文本比较方式,默认0,0 二进制,1 文本

Filter(array,str) 从一个数组中取包含 str 的值组成新的数组返回
Join(array[,间隔符]) 数组转字符串
LBound(array[,维]) 取数组最小下标
UBound(array[,维]) 取数组最大下标

对象函数

函数 意义
GetObject(路径,类名) 获得对象。如:GetObject("a.doc","Word.Document")
CreateObject(类名[,服务器]) 建立对象。如:CreateObject("Excel.Application")
LoadPicture(pathname) 装入图象并返回对象
MsgBox(prompt,buttons,title,helpfile,context) 显示对话框, 返回所按按钮常量, 只有 prompt 是必选参数,
InputBox(prompt,title,default,xpos,ypos,helpfile,context) 显示输入框
GetRef(函数) 获得函数指针

其他函数

函数 意义
Eval(string) 计算表达式
GetLocale() 取当前区域 ID
SetLocale(lcid) 设置区域
IsArray(varname) 是否数组
IsDate(expr) 是否日期
IsEmpty(expr) 是否空
IsNull(expr) 是否无
IsNumeric(expr) 是否数字
IsObject(expr) 是否对象
ScriptEngine

ScriptEngineBuildVersion

ScriptEngineMajorVersion

ScriptEngineMinorVersion

脚本语言

版本号

主版本号

次版本号

TypeName(var) 返回类型字符串
VarType(varname) 返回类型序号

派生数学函数

函数 派生的等效公式
Secant(正割) Sec(X) = 1 / Cos(X)
Cosecant(余割) Cosec(X) = 1 / Sin(X)
Cotangent(余切) Cotan(X) = 1 / Tan(X)
Inverse Sine(反正弦) Arcsin(X) = Atn(X / Sqr(-X * X + 1))
Inverse Cosine(反余弦) Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Inverse Secant(反正割) Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) -1) * (2 * Atn(1))
Inverse Cosecant(反余割) Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
Inverse Cotangent(反余切) Arccotan(X) = Atn(X) + 2 * Atn(1)
Hyperbolic Sine(双曲正弦) HSin(X) = (Exp(X) - Exp(-X)) / 2
Hyperbolic Cosine(双曲余弦) HCos(X) = (Exp(X) + Exp(-X)) / 2
Hyperbolic Tangent(双曲正切) HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))
Hyperbolic Secant(双曲正割) HSec(X) = 2 / (Exp(X) + Exp(-X))
Hyperbolic Cosecant(双曲余割) HCosec(X) = 2 / (Exp(X) - Exp(-X))
Hyperbolic Cotangent(双曲余切) HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))
Inverse Hyperbolic Sine(反双曲正弦) HArcsin(X) = Log(X + Sqr(X * X + 1))
Inverse Hyperbolic Cosine(反双曲余弦) HArccos(X) = Log(X + Sqr(X * X - 1))
Inverse Hyperbolic Tangent(反双曲正切) HArctan(X) = Log((1 + X) / (1 - X)) / 2
Inverse Hyperbolic Secant(反双曲正割) HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)
Inverse Hyperbolic Cosecant(反双曲余割) HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X)
Inverse Hyperbolic Cotangent(反双曲余切) HArccotan(X) = Log((X + 1) / (X - 1)) / 2
以 N 为底的对数 LogN(X) = Log(X) / Log(N)

interval

设置 描述
yyyy
q 季度
m
y 一年的日数
d
w 一周的日数
ww
h 小时
n 分钟
s

TypeName/VarType 返回值

类型 TypeName 值(字符串) VarType(常量) VarType(整数)
字节值 Byte   8
整型值 Integer vbInteger 2
长整型值 Long vbLong 3
单精度浮点值 Single vbSingle 4
双精度浮点值 Double vbDouble 5
货币值 Currency vbCurrency 6
十进制值 Decimal vbDecimal 14
日期或时间值 Date vbDate 7
字符串值 String vbString 8
Boolean 值;TrueFalse Boolean vbBoolean 11
未初始化 Empty vbEmpty 0
无有效数据 Null vbNull 1
实际对象类型名 <object type>    
一般对象 Object vbObject 9
未知对象类型 Unknown   0
还未引用对象实例的对象变量 Nothing   9
错误 Error vbError 10
Variant (仅用于变量数组)   vbVariant 12
数据访问对象   vbDataObject 13
字节子类型   vbByte 17
数组   vbArray 8192

buttons 参数, 多个相加

常数 描述
vbOKOnly 0 只显示确定按钮。
vbOKCancel 1 显示确定取消按钮。
vbAbortRetryIgnore 2 显示放弃重试忽略按钮。
vbYesNoCancel 3 显示取消按钮。
vbYesNo 4 显示按钮。
vbRetryCancel 5 显示重试取消按钮。
vbCritical 16 显示临界信息图标。
vbQuestion 32 显示警告查询图标。
vbExclamation 48 显示警告消息图标。
vbInformation 64 显示信息消息图标。
vbDefaultButton1 0 第一个按钮为默认按钮。
vbDefaultButton2 256 第二个按钮为默认按钮。
vbDefaultButton3 512 第三个按钮为默认按钮。
vbDefaultButton4 768 第四个按钮为默认按钮。
vbApplicationModal 0 应用程序模式:用户必须响应消息框才能继续在当前应用程序中工作。
vbSystemModal 4096 系统模式:在用户响应消息框前,所有应用程序都被挂起。

MsgBox 返回值

常数 按钮
vbOK 1 确定
vbCancel 2 取消
vbAbort 3 放弃
vbRetry 4 重试
vbIgnore 5 忽略
vbYes 6
vbNo 7