vb随便excel生成正负随机数十个数并判断正负

记住登录一个月发表随想还能输入:200字该用户最新代码编程随想&by by by by by by [javascript]代码库^[1-9]\d*$ 匹配正整数
^-[1-9]\d*$ 匹配负整数
^-?[1-9]\d*$ 匹配整数
^[1-9]\d*|0$ 匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ 匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ 匹配非正浮点数(负浮点数 + 0)分享到:更多发表评论:评论须知:1、评论每次加2分,每天上限为30;2、请文明用语,共同创建干净的技术交流环境;3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。VB函数大全&一
Calendar 常数
可在代码中的任何地方用下列常数代替实际值:
常数 值 描述
vbCalGreg 0 指出使用的是阳历。
vbCalHijri 1 指出使用的是伊斯兰历法。
-------------------------
Color 常数
可在代码中的任何地方用下列常数代替实际值:
常数 值 描述
vbBlack 0x0 黑色
vbRed 0xFF 红色
vbGreen 0xFF00 绿色
vbYellow 0xFFFF 黄色
vbBlue 0xFF0000 蓝色
vbMagenta 0xFF00FF 紫红色
vbCyan 0xFFFF00 青色
vbWhite 0xFFFFFF 白色
-------------------------
Comparison常数
下列常数由 Visual Basic for Applications
中的类型库定义,可用来在代码中的任何地方代替实际值:
常数 值 描述
VbUseCompareOption -1 使用Option Compare语句的设置进行比较。
VbBinaryCompare 0 进行二进制的比较。
VbTextCompare 1 进行文字的比较。
vbDatabaseCompare 2 用于 Microsoft
Access(仅限于Windows),进行以数据库所含信息为基础的比较。
-------------------------
Compiler 常数
Visual Basic for Applications 定义了一些不能与 #If...Then...#Else
指令一起使用的常数。这些常数除了其范围是全局的;也就是说,除了可在工程中到处应用,在功能上与 #If...Then...#Else
指令定义的常数相同。
在 16 位开发平台上,编译常数定义如下:
常数 值 描述
Win16 True 指出开发环境是 16 位。
Win32 False 指出开发环境不是 32 位。
在 32 位开发平台上,编译常数定义如下:
常数 值 描述
Win16 False 指出开发环境不是 16 位。
Win32 True 指出开发环境是 32 位。
-------------------------
可在代码中的任何地方用下列常数代替实际值:
firstdayofweek 参数具有以下这些值:
常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstdayofyear 参数具有以下这些值:
常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
VbUseSystemDayOfWeek 0 使用系统设置中为星期的第一天指定的星期数。
VbFirstJan1 1 由 1 月 1 日所在的那个星期开始(缺省)。
vbFirstFourDays 2 由新的一年中第一个至少有 4 天的星期开始。
vbFirstFullWeek 3 由一年中第一个完整的星期开始。
常数 值 描述
vbSunday 1 星期日
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
-------------------------
日期格式常数
仅当您的工程对包含这些常数定义的相应类型库有一个显式引用时,才可以使用这些常数 。
常数 值 描述
vbGeneralDate 0
显示日期和/或时间。对于一个实数,显示日期和时间。如果没有小数部分,则仅显示日期。如果没有整数部分,则仅显示时间。日期和时间的显示由系统设置值确定。
vbLongDate 1 用计算机区域设置值指定的长日期格式显示日期。
vbShortDate 2 用计算机区域设置值指定的短日期格式显示日期。
vbLongTime 3 用计算机区域设置值指定的长时间格式显示时间。
vbShortTime 4 用计算机区域设置值指定的短时间格式显示时间。
-------------------------
Dir、GetAttr 和 SetAttr 常数
可在代码中的任何地方用下列常数代替实际值:
常数 值 描述
vbNormal 0 正常的(Dir 和 SetAttr 的缺省值)
vbReadOnly 1 只读的
vbHidden 2 隐藏的
vbSystem 4 系统文件
vbVolume 8 卷标
vbDirectory 16 目录或文件夹
vbArchive 32 文件自上一次备份后已经改变
-------------------------
驱动器类型常数
仅当您的工程对包含这些常数定义的相应类型库有一个显式引用时,才可以使用这些常数。
常数 值 描述
Unknown 0 不能确定驱动器类型。
Removable 1 驱动器具有可删除介质。包括所有软盘驱动器和许多其它种类的存储设备。
Fixed 2 驱动器具有固定介质(不可删除的)。包括可删除硬盘在内的所有硬盘驱动器。
Remote 3 网络驱动器。包括在网络上任何地方都可以共享的驱动器。
CDROM 4 驱动器是一个CD-ROM。包括只读的CD-ROM和可读写的CD-ROM。
RAMDisk 5 驱动器是本地计算机上的一块随机存取内存(RAM),它工作起来就象是磁盘驱动器一样。
-------------------------
文件属性常数
仅当您的工程对包含这些常数定义的相应类型库有一个显式引用时,才可以使用这些常数。
常数 值 描述
Normal 0 普通文件。没有设置属性。
ReadOnly 1 只读文件。属性是可读/写。
Hidden 2 隐藏文件。属性是可读/写。
System 4 系统文件。属性是可读/写。
Volume 8 磁盘驱动器卷标。属性是只读。
Directory 16 文件夹或目录。属性是只读。
Archive 32 自上次备份后已经改变的文件。属性是可读/写。
Alias 64 链接或快捷方式。属性是只读。
Compressed 128 压缩文件。属性是只读。
-------------------------
文件输入/输出常数
仅当您的工程对包含这些常数定义的相应类型库有一个显式引用时,才可以使用这些常数。
常数 值 描述
ForReading 1 打开文件用于只读操作。不能对文件进行写操作。
ForWriting 2 打开文件用于写操作。如果存在具有相同文件名的文件,文件原有的内容被覆盖。
ForAppending 8 打开文件并向文件的结尾写入。
-------------------------
Dir、GetAttr 和 SetAttr 常数?
可在代码中的任何地方用下列常数代替实际值:
常数 值 描述
vbNormal 0 正常的(Dir 和 SetAttr 的缺省值)
vbReadOnly 1 只读的
vbHidden 2 隐藏的
vbSystem 4 系统文件
vbVolume 8 卷标
vbDirectory 16 目录或文件夹
vbArchive 32 文件自上一次备份后已经改变
-------------------------
IMEStatus 常数
可在代码中的任何地方用下列常数代替实际值。
日文国别的常数如下所示:
常数 值 描述
vbIMEModeNoControl 0 没有安装 IME(缺省)
vbIMEModeOn 1 打开 IME
vbIMEModeOff 2 关闭 IME
vbIMEModeDisable 3 无效的 IME
vbIMEModeHiragana 4 完整宽度 Hiragana 模式
vbIMEModeKatakana 5 完整宽度 Katakana 模式
vbIMEModeKatakanaHalf 6 半宽度 Katakana 模式
vbIMEModeAlphaFull 7 完整宽度 Alphanumeric 模式
vbIMEModeAlpha 8 半宽度 Alphanumeric 模式
韩国地区的常数如下所示:
常数值描述
vbIMEModeAlphaFull7完整宽度 Alphanumeric 模式
vbIMEModeAlpha8半宽度 Alphanumeric 模式
vbIMEModeHangulFull9完整宽度 Hangul 模式
vbIMEModeHangul10半宽度 Hangul 模式
中文地区的常数值如下:
常数值描述
vbIMEModeNoControl0没有安装 IME (缺省)
vbIMEModeOn1IME 打开
vbIMEModeOff2IME off
-------------------------
Keycode 常数
可在代码中的任何地方用下列常数代替实际值:
常数 值 描述
vbKeyLButton 0x1 鼠标左键
vbKeyRButton 0x2 鼠标右键
vbKeyCancel 0x3 CANCEL 键
vbKeyMButton 0x4 鼠标中键
vbKeyBack 0x8 BACKSPACE 键
vbKeyTab 0x9 TAB 键
vbKeyClear 0xC CLEAR 键
vbKeyReturn 0xD ENTER 键
vbKeyShift 0x10 SHIFT 键
vbKeyControl 0x11 CTRL 键
vbKeyMenu 0x12 MENU 键
vbKeyPause 0x13 PAUSE 键
vbKeyCapital 0x14 CAPS LOCK 键
vbKeyEscape 0x1B ESC 键
vbKeySpace 0x20 SPACEBAR 键
vbKeyPageUp 0x21 PAGE UP 键
vbKeyPageDown 0x22 PAGE DOWN 键
vbKeyEnd 0x23 END 键
vbKeyHome 0x24 HOME 键
vbKeyLeft 0x25 LEFT ARROW 键
vbKeyUp 0x26 UP ARROW 键
vbKeyRight 0x27 RIGHT ARROW 键
vbKeyDown 0x28 DOWN ARROW 键
vbKeySelect 0x29 SELECT 键
vbKeyPrint 0x2A PRINT SCREEN 键
vbKeyExecute 0x2B EXECUTE 键
vbKeySnapshot 0x2C SNAPSHOT 键
vbKeyInsert 0x2D INSERT 键
vbKeyDelete 0x2E DELETE 键
vbKeyHelp 0x2F HELP 键
vbKeyNumlock 0x90 NUM LOCK 键
A 至 Z 键与 A & Z 字母的 ASCII 码相同:
常数 值 描述
vbKeyA 65 A 键
vbKeyB 66 B 键
vbKeyC 67 C 键
vbKeyD 68 D 键
vbKeyE 69 E 键
vbKeyF 70 F 键
vbKeyG 71 G 键
vbKeyH 72 H 键
vbKeyI 73 I 键
vbKeyJ 74 J 键
vbKeyK 75 K 键
vbKeyL 76 L 键
vbKeyM 77 M 键
vbKeyN 78 N 键
vbKeyO 79 O 键
vbKeyP 80 P 键
vbKeyQ 81 Q 键
vbKeyR 82 R 键
vbKeyS 83 S 键
vbKeyT 84 T 键
vbKeyU 85 U 键
vbKeyV 86 V 键
vbKeyW 87 W 键
vbKeyX 88 X 键
vbKeyY 89 Y 键
vbKeyZ 90 Z 键
0 至 9 键与数字 0 & 9 的 ASCII 码相同:
常数 值 描述
vbKey0 48 0 键
vbKey1 49 1 键
vbKey2 50 2 键
vbKey3 51 3 键
vbKey4 52 4 键
vbKey5 53 5 键
vbKey6 54 6 键
vbKey7 55 7 键
vbKey8 56 8 键
vbKey9 57 9 键
下列常数代表数字键盘上的键:
常数 值 描述
vbKeyNumpad0 0x60 0 键
vbKeyNumpad1 0x61 1 键
vbKeyNumpad2 0x62 2 键
vbKeyNumpad3 0x63 3 键
vbKeyNumpad4 0x64 4 键
vbKeyNumpad5 0x65 5 键
vbKeyNumpad6 0x66 6 键
vbKeyNumpad7 0x67 7 键
vbKeyNumpad8 0x68 8 键
vbKeyNumpad9 0x69 9 键
vbKeyMultiply 0x6A MULTIPLICATION SIGN (*) 键
vbKeyAdd 0x6B PLUS SIGN (+) 键
vbKeySeparator 0x6C ENTER 键
vbKeySubtract 0x6D MINUS SIGN (-) 键
vbKeyDecimal 0x6E DECIMAL POINT (.) 键
vbKeyDivide 0x6F DIVISION SIGN (/) 键
下列常数代表功能键:
常数 值 描述
vbKeyF1 0x70 F1 键
vbKeyF2 0x71 F2 键
vbKeyF3 0x72 F3 键
vbKeyF4 0x73 F4 键
vbKeyF5 0x74 F5 键
vbKeyF6 0x75 F6 键
vbKeyF7 0x76 F7 键
vbKeyF8 0x77 F8 键
vbKeyF9 0x78 F9 键
vbKeyF10 0x79 F10 键
vbKeyF11 0x7A F11 键
vbKeyF12 0x7B F12 键
vbKeyF13 0x7C F13 键
vbKeyF14 0x7D F14 键
vbKeyF15 0x7E F15 键
vbKeyF16 0x7F F16 键
-------------------------
Miscellaneous 常数
下列常数由 Visual Basic for Applications
中的类型库定义,可用来在代码中的任何地方代替实际值:
常数 等于 描述
vbCrLf Chr(13) + Chr(10) 回车符与换行符结合
vbCr Chr(13) 回车符
vbLf Chr(10) 换行符
vbNewLine Chr(13) + Chr(10)&
平台指定的新行字符;适用于当前平台
vbNullChar Chr(0) 值为 0 的字符
vbNullString 值为 0 的字符串 用来调用外部过程;与长度为零的字符串 ("") 不同
vbObjectError - 用户定义的错误号应当大于该值,例如:
Err.Raise Number = vbObjectError + 1000
vbTab Chr(9) Tab 字。
vbBack Chr(8) 退格字符
vbFormFeed Chr(12) 在 Microsoft Windows 中没有作用
vbVerticalTab Chr(11) 在 Microsoft Windows 中没有作用
-------------------------
MsgBox 常数
可在代码中的任何地方使用下列常数代替实际值:
MsgBox 参数
常数 值 描述
vbOKOnly 0 只有 OK 按钮(缺省值)
vbOKCancel 1 OK 和 Cancel 按钮
vbAbortRetryIgnore 2 Abort、Retry,和 Ignore 按钮
vbYesNoCancel 3 Yes、No,和 Cancel 按钮
vbYesNo 4 Yes 和 No 按钮
vbRetryCancel 5 Retry 和 Cancel 按钮
vbCritical 16 关键消息
vbQuestion 32 警告询问
vbExclamation 48 警告消息
vbInformation 64 通知消息
vbDefaultButton1 0 第一个按钮是缺省的(缺省值)
vbDefaultButton2 256 第二个按钮是缺省的
vbDefaultButton3 512 第三个按钮是缺省的
vbDefaultButton4 768 第四个按钮是缺省的
vbApplicationModal 0 应用程序形态的消息框(缺省值)
vbSystemModal 4096 系统强制返回的消息框
vbMsgBoxHelpButton 16384 添加Help按钮到消息框
VbMsgBoxSetForeground 65536 指定消息框窗口作为前景窗口
vbMsgBoxRight 524288 文本是右对齐的
vbMsgBoxRtlReading 1048576 指定在希伯来语和阿拉伯语系统中,文本应当显示为从右到左读
MsgBox 返回值
常数 值 描述
vbOK 1 按下 OK 按钮
vbCancel 2 按下 Cancel 按钮
vbAbort 3 按下 Abort 按钮
vbRetry 4 按下 Retry 按钮
vbIgnore 5 按下 Ignore 按钮
vbYes 6 按下 Yes 按钮
vbNo 7 按下 No 按钮
-------------------------
QueryClose常数
下列常数可以用于代码中的任何位置以代替实际值:
常数 值 描述
vbFormControlMenu 0 用户从窗体上的Control 菜单选择Close 命令。
vbFormCode 1 Unload 语句被从代码中调用。
vbAppWindows 2 当前 Microsoft Windows 操作环境会话结束。
vbAppTaskManager 3 Windows Task Manager 正在关闭应用程序。
-------------------------
Dir、GetAttr 和 SetAttr 常数?
可在代码中的任何地方用下列常数代替实际值:
常数 值 描述
vbNormal 0 正常的(Dir 和 SetAttr 的缺省值)
vbReadOnly 1 只读的
vbHidden 2 隐藏的
vbSystem 4 系统文件
vbVolume 8 卷标
vbDirectory 16 目录或文件夹
vbArchive 32 文件自上一次备份后已经改变
-------------------------
Shell 常数
可在代码中的任何地方使用下列常数代替实际值:
常数 值 描述
vbHide 0 窗口是隐藏的,并且焦点被传递给隐藏窗口。
vbNormalFocus 1 窗口拥有焦点,并且恢复到原来的大小与位置。
vbMinimizedFocus 2 窗口缩小为图符并拥有焦点。
vbMaximizedFocus 3 窗口最大化并拥有焦点。
vbNormalNoFocus 4 窗口被恢复到最近一次的大小与位置。当前活动窗口仍为活动窗口。
vbMinimizeNoFocus 6 窗口缩小为图符。当前活动窗口仍为活动窗口。
-------------------------
特殊文件夹常数
仅当您的工程对包含这些常数定义的相应类型库有一个显式引用时,才可以使用这些常数。
常数 值 描述
WindowsFolder 0 Windows文件夹包含由Windows操作系统安装的文件。
SystemFolder 1 System(系统)文件夹包含库、字体和设备驱动程序。
TemporaryFolder 2 Temp(临时)文件夹用于存储临时文件。它的路径可在TMP环境变量中找到。
-------------------------
StrConv 常数
可在代码中的任何地方使用下列常数代替实际值:
Constant 值 描述
vbUpperCase 1 将字符串转换成大写字符。
vbLowerCase 2 将字符串转换成小写字符。
vbProperCase 3 将字符串中每个词的第一个字母转换成大写。
vbWide 4 将字符串中的窄(单字节)字符转换成宽(双字节)字符。适用于远东地区。
vbNarrow 8 将字符串中的宽(双字节)字符转换成窄(单字节)字符。适用于远东地区。
vbKatakana 16 将字符串中的 Hiragana 字符转换成 Katakana 字符;只适用于日文地区。
vbHiragana 32 将字符串中的 Katakana 字符转换成 Hiragana 字符;只适用于日文地区。
vbUnicode 64 利用缺省的系统代码页将字符串转换成 Unicode。
vbFromUnicode 128 将字符串由 Unicode 转换成缺省的系统代码页。
-------------------------
System Color 常数
可在代码中的任何地方用下列常数代替实际值:
常数 值 描述
vbScrollBars 0x 滚动条颜色
vbDesktop 0x 桌面颜色
vbActiveTitleBar 0x 活动窗口的标题栏颜色
vbInactiveTitleBar 0x 非活动窗口的标题栏颜色
vbMenuBar 0x 菜单背景色
vbWindowBackground 0x 窗口背景色
vbWindowFrame 0x 窗口框架颜色
vbMenuText 0x 菜单文本颜色
vbWindowText 0x 窗口文本颜色
vbTitleBarText 0x 标题、调整框和滚动箭头的文本颜色
vbActiveBorder 0x8000000A 活动窗口边框颜色
vbInactiveBorder 0x8000000B 非活动窗口边框颜色
vbApplicationWorkspace 0x8000000C 多文档界面 (MDI) 应用程序的背景色
vbHighlight 0x8000000D 控件中选中项目的背景色
vbHighlightText 0x8000000E 控件中选中项目的文本颜色
vbButtonFace 0x8000000F 命令按钮表面阴影颜色
vbButtonShadow 0x 命令按钮边缘阴影颜色
vbGrayText 0x 灰色(无效)文本
vbButtonText 0x 下压按钮文本颜色
vbInactiveCaptionText 0x 非活动标题文本颜色
vb3DHighlight 0x-D 显示元素的突出显示颜色
vb3DDKShadow 0x-D 显示元素的最深阴影颜色
vb3DLight 0x vb3Dhighlight 之外最亮的 3-D
vbInfoText 0x 工具提示文本颜色
vbInfoBackground 0x 工具提示背景色
-------------------------
仅当您的工程对包含这些常数定义的相应类型库有一个显式引用时,才可以使用这些常数。
常数 值 描述
TristateTrue &1 True
TristateFalse 0 False
TristateUseDefault &2 使用缺省设置值。
-------------------------
VarType 常数
可在代码中的任何地方用下列常数代替实际值:
常数 值 描述
vbEmpty 0 未初始化(缺省值)
vbNull 1 不含任何有效数据
vbInteger 2 Integer
vbLong 3 长整数
vbSingle 4 单精度浮点数
vbDouble 5 双精度浮点数
vbCurrency 6 Currency
vbDate 7 Date
vbString 8 String
vbObject 9 对象
vbError 10 错误
vbBoolean 11 布尔
vbVariant 12 Variant(只用于变体的数组类型)
vbDataObject 13 数据访问对象
vbDecimal 14 Decimal
vbByte 17 Byte
vbUserDefinedType 36 包含用户定义类型的变量
vbArray 8192 数组
-------------------------
Visual Basic 常数
Visual Basic for Applications
定义了一些常数,使程序设计变得更为简单。下列常数可在程序代码中的任何地方代替实际值:
Calendar 常数
Color 常数
Compiler 常数
Dir、GetAttr 和 SetAttr 常数
IMEStatus 常数
Instr、StrComp 常数
Keycode 常数
Miscellaneous 常数
MsgBox 常数
QueryClose 常数
QueryClose 常数
Shell 常数
StrConv 常数
System Color 常数
VarType 常数
-------------------------
Boolean 数据类型
Boolean 变量存储为 16 位(2 个字节)的数值形式,但只能是 True 或是 False。Boolean
变量的值显示为 True 或 False(在使用 Print 的时候),或者 #TRUE# 或 #FALSE#(在使用 Write #
的时候)。使用关键字 True 与 False 可将 Boolean 变量赋值为这两个状态中的一个。
当转换其他的数值类型为 Boolean 值时,0 会转成 False,而其他的值则变成 True。当转换 Boolean
值为其他的数据类型时,False 成为 0,而 True 成为 -1。
-------------------------
Byte 数据类型
Byte 变量存储为单精度型、无符号整型、8 位(1个字节)的数值形式,范围在 0 至 255 之间。
Byte 数据类型在存储二进制数据时很有用。
-------------------------
Currency 数据类型
Currency 变量存储为 64 位(8 个字节)整型的数值形式,然后除以 10,000 给出一个定点数,其小数点左边有 15
位数字,右边有 4 位数字。这种表示法的范围可以从 -922,337,203,685,477.5808 到
922,337,203,685,477.5807。Currency 的类型声明字符为at号 (@)。
Currency 数据类型在货币计算与定点计算中很有用,在这种场合精度特别重要。
-------------------------
Date 数据类型
Date 变量存储为 IEEE 64 位(8 个字节)浮点数值形式,其可以表示的日期范围从 100 年 1 月 1 日到
9999 年 12 月 31 日,而时间可以从 0:00:00 到 23:59:59。任何可辨认的文本日期都可以赋值给 Date
变量。日期文字须以数字符号 (#) 扩起来,例如,#January 1, 1993# 或 #1 Jan 93#。
Date 变量会根据计算机中的短日期格式来显示。时间则根据计算机的时间格式(12 或 24 小时制)来显示。
当其他的数值类型要转换为 Date 型时,小数点左边的值表示日期信息,而小数点右边的值则表示时间。午夜为 0 而中午为
0.5。负整数表示 1899 年 12 月 30 日之前的日期。
-------------------------
Decimal 数据类型
Decimal 变量存储为 96 位(12 个字节)无符号的整型形式,并除以一个 10
的幂数。这个变比因子决定了小数点右面的数字位数,其范围从 0 到 28。变比因子为 0(没有小数位)的情形下,最大的可能值为
+/-79,228,162,514,264,337,593,543,950,335。而在有 28 个小数位的情况下,最大值为
+/-7.0335,而最小的非零值为
+/-0.0001。
注意 此时,Decimal 数据类型只能在 Variant中使用,也就是说,不能声明一变量为 Decimal 的类型。不过可用
Cdec 函数,创建一个子类型为 Decimal 的 Variant。
-------------------------
Double 数据类型
Double(双精度浮点型)变量存储为 IEEE 64 位(8 个字节)浮点数值的形式,它的范围在负数的时候是从
-1.32E308 到 -4.47E-324,而正数的时候是从
4.47E-324 到 1.32E308。Double 的类型声明字符是数字符号
-------------------------
Integer 数据类型
Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。Integer
的类型声明字符是百分比符号 (%)。
也可以用 Integer
变量来表示枚举值。枚举值可包含一个有限集合,该集合包含的元素都是唯一的整数,每一个整数都在它使用时的上下文当中有其特殊意义。枚举值为在已知数量的选项中做出选择提供了一种方便的方法,例如,black
= 0,white = 1 等等。较好的编程作法是使用 Const 语句将每个枚举值定义成常数。
-------------------------
Long 数据类型
Long(长整型)变量存储为 32 位(4 个字节)有符号的数值形式,其范围从 -2,147,483,648 到
2,147,483,647。Long 的类型声明字符为和号 (&)。
-------------------------
Object 数据类型
Object 变量存储为 32 位(4 个字节)的地址形式,其为对象的引用。利用 Set 语句,声明为 Object
的变量可以赋值为任何对象的引用。
注意 虽然以 Object
类型声明的变量足以适应包含对各种对象的引用,但是绑定到变量引用的对象总是在晚期(运行时)绑定。要强迫在早期(编译时间)绑定的话,须将对象的引用赋值给用特定类名称声明的变量。
-------------------------
Single 数据类型
Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从
-3. 到 -1.,而在正数的时候是从 1. 到
3.。Single 的类型声明字符为感叹号 (!)。
-------------------------
String 数据类型
字符串有两种:变长与定长的字符串。
变长字符串最多可包含大约 20 亿 ( 2^31)个字符。
定长字符串可包含 1 到大约 64K ( 2^16 ) 个字符。
注意 Public 定长字符串不能在类模块中使用。
String 之字符码的范围是 0 到 255。字符集的前 128 个字符(0 到 127)对应于标准的 U.S.
键盘上的字符与符号。这前 128 个字符与 ASCII 字符集中所定义的相同。后 128 个字符(128 到
255)则代表特殊字符,例如国际字符,重音符号,货币符号及分数。String 的类型声明字符为美元号 ($)。
-------------------------
用户定义数据类型
可以是任何用 Type
语句定义的数据类型。用户自定义类型可包含一个或多个某种数据类型的数据元素、数组或一个先前定义的用户自定义类型。例如:
Type MyType
&& MyName As
String&& '定义字符串变量存储一个名字。
&& MyBirthDate As
Date&& '定义日期变量存储一个生日。
&& MySex As
Integer&& '定义整型变量存储性别
Type&&&&&&&&&&&
'(0 为女,1 为男)
-------------------------
Variant 数据类型
Variant 数据类型是所有没被显式声明(用如 Dim、Private、Public 或
Static等语句)为其他类型变量的数据类型。Variant 数据类型并没有类型声明字符。
Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。Variant
也可以包含 Empty、Error、Nothing 及 Null等特殊值。可以用 VarType 函数或 TypeName
函数来决定如何处理 Variant 中的数据。
数值数据可以是任何整型或实型数,负数时范围从 -1.315E308 到
-4.9,正数时则从 4.9 到
1.315E308。通常,数值Variant 数据保持为其 Variant 中原来的数据类型。例如,如果把一个
Integer赋值给 Variant,则接下来的运算会把此 Variant 当成 Integer 来处理。然而,如果算术运算针对含
Byte、Integer、Long 或 Single 之一的Variant 执行,并当结果超过原来数据类型的正常范围时,则在
Variant 中的结果会提升到较大的数据类型。如 Byte 则提升到 Integer,Integer 则提升到 Long,而
Long和Single 则提升为 Double。当 Variant 变量中有 Currency、Decimal 及 Double
值超过它们各自的范围时,会发生错误。
可以用 Variant 数据类型来替换任何数据类型,这样会更有适应性。如果 Variant
变量的内容是数字,它可以用字符串来表示数字或是用它实际的值来表示,这将由上下文来决定,例如:
Dim MyVar As Variant
MyVar = 98052
在前面的例子中,MyVar 内有一实际值为 98052 的数值。像期望的那样,算术运算子可以对 Variant
变量运算,其中包含数值或能被解释为数值的字符串数据。如果用 + 运算子来将 MyVar 与其他含有数字的 Variant
或数值类型的变量相加,结果便是一算术和。
Empty 值用来标记尚未初始化(给定初始值)的Variant 变量。内含 Empty 的 Variant 在数值的上下文中表示
0,如果是用在字符串的上下文中则表示零长度的字符串 ("")。
不应将 Empty 与 Null 弄混。Null 是表示 Variant 变量确实含有一个无效数据。
在 Variant 中,Error
是用来指示在过程中出现错误时的特殊值。然而,不像对其他种类的错误那样,程序并不产生普通的应用程序级的错误处理。这可以让程序员,或应用程序本身,根据此错误值采取另外的行动。可以用
CVErr 函数将实数转换为错误值来产生 Error 值。
-------------------------
#Const 指令
用来定义 Visual Basic 的条件编译常数。
#Const constname = expression
#Const 编译指令的语法具有以下几个部分:
constname 必要;Variant (String)。常数;名称要遵守变量命名的约定。
expression 必要。文字、其他的条件编译常数或包含除了 Is 以外的算术或逻辑运算符的任意组合。
条件编译常数在其出现的模块中总是 Private。不可能利用 #Const 指令建立 Public 编译常数。Public
编译常数只能在用户接口中建立。
在 expression 中只能使用编译常数及文字。使用一个用 Const
定义的标准常数,或者使用一个未定义的常数,都会导致错误发生。反之,用 #Const 关键字定义的常数也只能用于条件编译。
不管条件编译常数在程序中的位置如何,都总是在模块级别中进行计算。
-------------------------
#If...Then...#Else 指令
条件编译已选择的 Visual Basic 代码块。
#If expression Then
statements
[#ElseIf expression-n Then
[elseifstatements]]
[elsestatements]]
#If...Then...#Else 指令的语法具有以下几个部分:
expression 必要。包含一个或多个条件编译常数、文字与运算符的任何表达式,其值为 True 或 False。
statements 必要。Visual Basic 程序行或编译指令,如果关联的表达式为 True,则运行它们。
expression-n 可选。由一或多个条件编译常数、文字和运算符组成的任何一个表达式,其值为 True 或
elseifstatements 可选。一个或多个程序行或编译命令,如果 expression-n 为
True,则运行它们。
elsestatements 可选。一个或多个程序行或编译命令,如果以前的expression 或 expression-n
中没有一个为 True,则运行它们。
#If...Then...#Else 指令的作用与 If...Then...Else 语句相同,其差异在于
#If、#Else、#ElseIf,及 #End If
指令没有单独成行的形式,也就是说,在指令所在的那一行,不能有其他代码出现。条件编译通常用来编译不同平台上的同一个程序。也可以用来避免调试程序代码出现在可执行程序中。条件编译时被排除的程序代码在最后的可执行文件中被完全略去,所以不会对程序的大小或功能有任何影响。
无论结果如何,都要计算所有表达式。所以,在表达式中用到的所有常数都必须加以定义— 任何未定义的常数都会被当作 Empty
来计算取值。
注意&& Option Compare 语句不会影响 #If
及 #ElseIf 语句中的表达式。条件编译指令中的表达式总是用 Option Compare Text 计算值。
-------------------------
返回参数的绝对值,其类型和参数相同。
Abs(number)
必要的 number 参数是任何有效的数值表达式,如果 number 包含 Null,则返回 Null,如果 number
是未初始化的变量,则返回 0。
一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。
-------------------------
Array 函数
返回一个包含数组的 Variant。
Array(arglist)
所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant
所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。
用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。在下面的示例中,第一条语句创建一个 Variant
的变量 A。第二条语句将一个数组赋给变量 A。最后一条语句将该数组的第二个元素的值赋给另一个变量。
Dim A As Variant
A = Array(10,20,30)
使用 Array 函数创建的数组的下界受 Option Base 语句指定的下界的决定, 除非 Array 是由类型库(例如
VBA.Array )名称限定。如果是由类型库名称限定,则 Array 不受 Option Base 的影响。
注意 没有作为数组声明的 Variant 也可以表示数组。除了长度固定的字符串以及用户定义类型之外,Variant
变量可以表示任何类型的数组。尽管一个包含数组的 Variant 和一个元素为 Variant
类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。
-------------------------
返回一个 Integer,代表字符串中首字母的字符代码。
Asc(string)
必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。
在非 DBCS 系统下,返回值范围为 0 & 255 。在 DBCS 系统下,则为 -32768 & 32767。
注意&&& AscB
函数作用于包含在字符串中的字节数据,AscB 返回第一个字节的字符代码,而非字符的字符代码。AscW 函数返回 Unicode
字符代码,若平台不支持 Unicode,则与 Asc 函数功能相同。
-------------------------
返回一个 Double,指定一个数的反正切值。
Atn(number)
必要的 number 参数是一个 Double 或任何有效的数值表达式。
Atn 函数的参数值 (number)
为直角三角形两边的比值并返回以弧度为单位的角。这个比值是角的对边长度除以角的邻边长度之商。
值的范围在 -pi/2 和 pi/2 弧度之间。
为了将角度转换为弧度,请将角度乘以 pi/180。为了将弧度转换为角度,请将弧度乘以 180/pi。
注意&& Atn 是 Tan 的反三角函数,Tan
的参数值为角度,返回直角三角形的两条边的比值。不要将 Atn 和余切函数混淆,余切函数值是正切函数值的倒数,cotangent =
(1/tangent)。
-------------------------
CallByName 函数
执行一个对象的方法,或者设置或返回一个对象的属性。
CallByName(object, procedurename, calltype,[arguments()])
CallByName 函数的语法有以下部分:
object 必需的;变体型(对象)。函数将要执行的对象的名称。
procedurename 必需的;变体型(字符串)。一个包含该对象的属性名称或者方法名称的字符串表达式。
calltype 必需的;常数。一个 vbCallType 类型的常数,代表正在被调用的过程的类型。
arguments() 可选的:变体型(数组)。
CallByName 函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一个方法。
在下面的例子中,第一行使用 CallByName 来设置一个文本框的 MousePointer 属性,第二行得到
MousePointer 属性的值,第三行调用 Move 方法来移动文本框:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
-------------------------
Choose 函数
从参数列表中选择并返回一个值。
Choose(index, choice-1[, choice-2, ... [, choice-n]])
Choose 函数的语法具有以下几个部分:
index 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和可选择的项目数之间。
choice 必要参数,Variant 表达式,包含可选择项目的其中之一。
Choose 会根据 index 的值来返回选择项列表中的某个值。如果 index 是 1,则 Choose 会返回列表中的第
1 个选择项。如果 index 是 2,则会返回列表中的第 2 个选择项,以此类推。
可以使用 Choose 来查阅一个列表中的项目。例如,如果 index 所指定的值为 3,而 choice-1 =
"one"、choice-2 = "two"、且 choice-3 = "three",那么 Choose 将返回 "three"。当
index 代表一选项组中的值时,则这项功能将会特别有用。
即使它只返回一个选项值,Choose 仍然会计算列表中的每个选择项。所以应该注意到这项副作用。例如,当在每个选择项表达式中使用了
MsgBox 函数作为其中的一部分时,每计算一个选择项,就会显示一次消息框。
当 index小于 1 或大于列出的选择项数目时,Choose 函数返回 Null。
如果 index 不是整数,则会先四舍五入为与其最接近的整数。
-------------------------
返回 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 函数相同。
-------------------------
Command 函数
返回命令行的参数部分,该命令行用于装入 Microsoft Visual Basic 或 Visual Basic
开发的可执行程序。
当从命令行装入 Visual Basic 时,/cmd
之后的命令行的任何部分作为命令行的参数传递给程序。下面的示例中,cmdlineargs 代表 Command
函数返回的参数信息。
VB /cmd cmdlineargs
对于使用 Visual Basic 开发并编译为 .exe 文件的应用程序,Command
返回出现在命令行中应用程序名之后的任何参数。例如:
MyApp cmdlineargs
想知道如何在正在使用的应用程序的用户界面中改变命令行参数,请搜寻关于“命令行参数”的帮助。
-------------------------
返回一个 Double,指定一个角的余弦值。
Cos(number)
必要的 number 参数是一个 Double 或任何有效的数值表达式,表示一个以弧度为单位的角。
Cos 函数的参数为一个角,并返回直角三角形两边的比值。该比值为角的邻边长度除以斜边长度之商。
结果的取值范围在 -1 到 1 之间。
为了将角度转换成弧度,请将角度乘以 pi/180。为了将弧度转换成角度,请将弧度乘以 180/pi。
-------------------------
CreateObject 函数
创建并返回一个对 ActiveX 对象的引用。
CreateObject(class,[servername])
&CreateObject 函数的语法有如下部分:
class 必需的; Variant (String). 要创建的应用程序名称和类。
servername 可选的; Variant (String). 要在其上创建对象的网络服务器名称。
class 参数使用 appname.objecttype 这种语法,包括以下部分:
appname 必需的;Variant(字符串)。提供该对象的应用程序名。
objecttype 必需的;Variant(字符串)。待创建对象的类型或类。
每个支持自动化的应用程序都至少提供一种对象类型。例如,一个字处理应用程序可能会提供 Application
对象,Document 对象,以及 Toolbar 对象。
要创建 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.Cells(1, 1).Value = "This is column A, row 1"
'将该表格保存到 C:/test.doc 目录
ExcelSheet.SaveAs "C:/ TEST.DOC"
'使用应用程序对象的 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" 。
下面的代码返回在一个名为 MyServer 的远端计算机上运行的 Excel 实例的版本号:
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version
如果远端服务器不存在或者不可用,则会发生一个运行时错误。
注意 当该对象当前没有实例时,应使用
CreateObject。如果该对象已有实例在运行,就会启动一个新的实例,并创建一个指定类型的对象。要使用当前实例,或要启动该应用程序并加载一个文件,可以使用
GetObject 函数。
如果对象已登记为单个实例对象,则不管执行多少次 CreateObject,都只能创建该对象的一个实例。
-------------------------
CurDir 函数
返回一个 Variant (String),用来代表当前的路径。
CurDir[(drive)]
可选的 drive 参数是一个字符串表达式,它指定一个存在的驱动器。如果没有指定驱动器,或 drive 是零长度字符串
(""),则 CurDir 会返回当前驱动器的路径。
-------------------------
CVErr 函数
返回 Error 子类型的 Variant,其中包含指定的错误号。
CVErr(errornumber)
必要的 errornumber 参数可以是任何有效的错误号代码。
可以在过程中,使用 CVErr
函数来创建用户自定义错误。例如,如果创建一个函数,它可以接受若干个参数,且正常返回一个字符串,则可以让函数来判断输入的参数,确认它们是在可接受的范围内。如果不是的话,此函数将不会返回所要的字符串。在这种情况下,CVErr
可以返回一个错误号,并告知应该采取的行动。
注意,Error 的隐式转换是不允许的,例如,不能直接把 CVErr 的返回值赋值给一个非 Variant 的变量。然而,可以对
CVErr 的返回值进行显式转换(使用 CInt、CDbl 等等),并赋值给适当的数据类型变量。
-------------------------
返回包含系统日期的 Variant (Date)。
为了设置系统日期,请使用 Date 语句。
-------------------------
DateAdd 函数
返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔。
DateAdd(interval, number, date)
DateAdd 函数语法中有下列命名参数:
interval 必要。字符串表达式,是所要加上去的时间间隔。
必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。
date 必要。Variant (Date) 或表示日期的文字,这一日期还加上了时间间隔。
interval 参数具有以下设定值:
y 一年的日数
w 一周的日数
可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。例如,可以用 DateAdd
来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。
为了对 date 加上“日”,可以使用“一年的日数” (“y”),“日” (”d”) 或“一周的日数” (”w”)。
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 返回值的格式由 Control
Panel设置决定,而不是由传递到date 参数的格式决定。
-------------------------
DateDiff 函数
返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
DateDiff(interval, date1, date2[, firstdayofweek[,
firstweekofyear]])
DateDiff 函数语法中有下列命名参数:
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。
interval 参数的设定值如下:
y 一年的日数
w 一周的日数
firstdayofweek 参数的设定值如下:
常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
常数 值 描述
vbUseSystem 0 用 NLS API 设置。
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
表示相差一个年份,虽然实际上只相差一天而已。
-------------------------
DatePart 函数
返回一个包含已知日期的指定时间部分的 Variant (Integer)。
DatePart(interval, date[,firstdayofweek[, firstweekofyear]])
DatePart 函数语法中有下列命名参数:
interval 必要。字符串表达式,是要返回的时间间隔。
date 必要。要计算的 Variant (Date) 值。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。
interval 参数的设定值如下:
y 一年的日数
w 一周的日数
firstdayofweek 参数的设定值如下:
常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数的设定值如下:
常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。
vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。
vbFirstFullWeek 3 从第一个无跨年度的星期开始。
DatePart 函数可以用来计算日期并返回指定的时间间隔。例如,可以使用DatePart
计算某个日期是星期几或目前为几点钟。
firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。
如果 date 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date 用双引号 (" ")
括起来,且年份略而不提,则在每次计算 date 表达式时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。
-------------------------
DateSerial 函数
返回包含指定的年、月、日的 Variant (Date)。
DateSerial(year, month, day)
DateSerial 函数语法有下列的命名参数:
year 必要;Integer。从 100 到 9999 间的整数,或一数值表达式。
month 必要;Integer。任何数值表达式。
day 必要;Integer。任何数值表达式。
为了指定某个日期,如 1991 年 12 月 31 日,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)。
DateValue(date)
必要的 date 参数 date 通常是字符串表达式,表示从 100 年 1 月 1 日到
9999& 年 12 月 31 日之间的一个日期。但是,date
也可以是任何表达式,其所代表的日期、时间在上述范围内。
如果 date 是一个字符串,且其内容只有数字以及分隔数字的日期分隔符,则 DateValue
就会根据系统中指定的短日期格式来识别月、日、年的顺序。DateValue 也识别明确的英文月份名称,全名或缩写均可。例如,除了
12/30/1991 和 12/30/91 之外,DateValue 也识别 December 30, 1991 和 Dec 30,
如果 date 中略去了年这一部分,DateValue 就会使用由计算机系统日期设置的当前年份。
如果 date 参数包含时间信息,则 DateValue 不会返回它。但是,如果 date 包含无效时间信息(如
89:98),则会导致错误发生。
-------------------------
返回一个 Variant (Integer),其值为 1 到 31 之间的整数,表示一个月中的某一日。
必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含
Null,则返回 Null。
-------------------------
返回一个 Double,指定一笔资产在一特定期间内的折旧。可使用双下落收复平衡方法或其它指定的方法进行计算。
DDB(cost, salvage, life, period[, factor])
DDB 函数具有下列命名参数:
cost 必要。Double 指定资产的初始成本。
salvage 必要。Double.指定使用年限结束时的资产价值。
life 必要。Double 指定资产可用的可用年限。
period 必要。Double 指定计算资产折旧所用的那一期间。
factor 可选。Variant 指定收复平衡下落时的速度。如果省略的话,2(双下落方法)为缺省值。
双下落收复平衡方法用加速利率法计算折旧。在第一段时期,折旧为最高,而在接下来的期间内降低。
life 和 period 参数必须用相同的单位表示。例如,如果 life 用月份表示,则 period
也必须用月份表示。所有参数都必须是正值。
DDB 函数使用下列公式计算在一定时期后的折旧:
折旧 / period = ((cost & alvage) * factor) / life
-------------------------
返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
Dir[(pathname[, attributes])]
Dir 函数的语法具有以下几个部分:
pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到
pathname,则会返回零长度字符串 ("")。
attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname
但不包含属性的文件。&
attributes 参数的设置可为:
常数 值 描述
vbNormal 0 (缺省) 指定没有属性的文件。
vbReadOnly 1 指定无属性的只读文件
vbHidden 2 指定无属性的隐藏文件
VbSystem 4 指定无属性的系统文件
vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume
vbDirectory 16 指定无属性文件及其路径和文件夹。
注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。
Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。
&由于 Macintosh 不支持通配符,使用文件类型指定文件组。可以使用 MacID
函数指定文件类型而不用文件名。比如,下列语句返回当前文件夹中第一个TEXT文件的名称:
Dir("SomePath", MacID("TEXT"))
&为选中文件夹中所有文件,指定一空串:
在 Microsoft Windows 中,如果在Dir函数中使用MacID函数,将产生错误。
任何大于256的attribute值都被认为是MacID 函数的值。
在第一次调用 Dir 函数时,必须指定 pathname,否则会产生错误。如果也指定了文件属性,那么就必须包括
pathname。
Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,再一次调用
Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。一旦返回值为零长度字符串,并要再次调用
Dir 时,就必须指定 pathname,否则会产生错误。不必访问到所有匹配当前 pathname 的文件名,就可以改变到一个新的
pathname 上。但是,不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir
不能连续地返回子目录。
提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。
-------------------------
DoEvents 函数
转让控制权,以便让操作系统处理其它的事件。
DoEvents( )
DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual
Basic 专业版,在其它的应用程序中,DoEvents 返回 0。
DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys
队列中的所有键也都已送出之后,返回控制权。
DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 —
特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE
部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。
注意 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents
返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用
DoEvents,因为此时不能放弃控制权。
-------------------------
Environ 函数
返回 String,它关连于一个操作系统环境变量。 在 Macintosh 中不可用。
Environ({envstring | number})
Environ 函数的语法含有以下这些命名参数:
envstring 可选参数。包含一个环境变量名的字符串表达式。
number 可选参数。数值表达式,用来表示环境字符串在环境字符串表格中的数值顺序。number
参数可以是任意的数值表达式,不过在计算前,它会先转换为一个整数。
如果在环境字符串表格中找不到 envstring,则会返回一个零长度字符串 ("")。如果找到,则 Environ
会返回一段文本,文本是赋值给指定的 envstring 的,也就是说,在环境字符串表格中对应那个环境变量的等号 (=)
后面的那段文本。
如果指定了 number,则在环境字符串表格中相应位置上的字符串会返回。在这种情况下,Environ 会返回整个文本,包括
envstring。如果在指定位置上没有环境字符串,那么 Environ 会返回一个零长度字符串。
-------------------------
返回一个 Integer,它包含 Boolean 值 True,表明已经到达为 Random 或顺序 Input
打开的文件的结尾。
EOF(filenumber)
必要的 filenumber 参数是一个 Integer,包含任何有效的文件号。
使用 EOF 是为了避免因试图在文件结尾处进行输入而产生的错误。
直到到达文件的结尾,EOF 函数都返回 False。对于为访问 Random 或 Binary 而打开的文件,直到最后一次执行的
Get 语句无法读出完整的记录时,EOF 都返回 False。
对于为访问 Binary 而打开的文件,在 EOF 函数返回 True 之前,试图使用 Input
函数读出整个文件的任何尝试都会导致错误发生。在用 Input 函数读出二进制文件时,要用 LOF 和 Loc 函数来替换 EOF
函数,或者将 Get 函数与 EOF 函数配合使用。对于为 Output 打开的文件,EOF 总是返回 True。
-------------------------
Error 函数
返回对应于已知错误号的错误信息。
Error[(errornumber)]
这个可选的 errornumber 参数可以为任何有效的错误号。如果 errornumber 是有效的错误号,但尚未被定义,则
Error 将返回字符串“应用程序定义的错误或对象定义的错误”。如果 errornumber
不是有效的错误号,则会导致错误发生。如果省略
errornumber,就会返回与最近一次运行时错误对应的消息。如果没有发生运行时错误,或者 errornumber 是 0,则
Error 返回一个长度为零的字符串 ("")。
请检查 Err 对象的属性设置,以便认定最近一次运行时错误。Error 函数的返回值对应于 Err 对象的
Description 属性。
-------------------------
返回 Double,指定 e(自然对数的底)的某次方。
Exp(number)
必要的 number 参数 number 是 Double 或任何有效的数值表达式。
如果 number 的值超过 709.,则会导致错误发生。常数 e 的值大约是 2.718282。
注意&& Exp 函数的作用和 Log
的作用互补,所以有时也称做反对数。
-------------------------
FileAttr 函数
返回一个 Long,表示使用 Open 语句所打开文件的文件方式。
FileAttr(filenumber, returntype)
FileAttr 函数的语法具有以下几个命名参数:
filenumber 必要。Integer 类型,任何有效的文件号。
returntype 必要。Integer 类型。它是数字,指出返回信息的类型。指定 1 则可返回一个代表文件方式的数值。而仅仅在
16 位系统中, 指定 2 才可以恢复操作系统的文件句柄。在 32 位系统中不支持 Returntype
2,它会导致错误发生。
当 returntype 参数值为 1 时,下列返回值指出文件访问方式:
-------------------------
FileDateTime 函数
返回一个 Variant (Date),此为一个文件被创建或最后修改后的日期和时间。
FileDateTime(pathname)
必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。
-------------------------
FileLen 函数
返回一个 Long,代表一个文件的长度,单位是字节。
FileLen(pathname)
必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。
当调用 FileLen 函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的大小。
注意 若要取得一个打开文件的长度大小,使用 LOF 函数。
-------------------------
Filter函数
返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集。
Filter(InputStrings, Value[, Include[, Compare]])
Filter函数语法有如下几部分:
InputStrings 必需的。要执行搜索的一维字符串数组。
Value 必需的。要搜索的字符串。
可选的。Boolean值,表示返回子串包含还是不包含Value字符串。如果Include是True,Filter返回的是包含Value子字符串的数组子集。如果Include是False,Filter返回的是不包含Value子字符串的数组子集。
Compare 可选的。数字值,表示所使用的字符串比较类型。有关其设置,请参阅下面的“设置值”部分。
Compare参数的设置值如下:
常数 值 描述
vbUseCompareOption &1 使用Option Compare语句的设置值来执行比较。
vbBinaryCompare& 0 执行二进制比较。
vbTextCompare& 1 执行文字比较。
vbDatabaseCompare& 2 只用于Microsoft
Access。基于您的数据库信息来执行比较。
如果在InputStrings中没有发现与Value相匹配的值,Filter返回一个空数组。如果InputStrings是Null或不是一个一维数组,则产生错误。
Filter函数所返回的数组,其元素数目刚好是所找到的匹配项目数。
-------------------------
Format 函数
返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
Format(expression[, format[, firstdayofweek[,
firstweekofyear]]])
Format 函数的语法具有下面几个部分:
expression 必要参数。任何有效的表达式。
format 可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek 可选参数。常数,表示一星期的第一天。
firstweekofyear 可选参数。常数,表示一年的第一周。
firstdayofweek 参数有下面设置:
常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
VbSunday 1 星期日(缺省)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数有下面设置:
常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从包含一月一日的那一周开始(缺省)。
vbFirstFourDays 2 从本年第一周开始,而此周至少有四天在本年中。
VbFirstFullWeek 3 从本年第一周开始,而此周完全在本年中。
格式化 作法
数字 使用预先定义的命名数值格式或创建用户自定义数值格式。
日期和时间 使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格式。
日期和时间序数 使用日期和时间格式或数值格式。
字符串 创建自定义的字符串格式。
如果在格式化数字时没有指定 format,Format 会提供与 Str 函数类似的功能,尽管它是国际化的。然而,以 Format
作用在正数上不会保留正负号空间,而以 Str 的话则会。
-------------------------
FormatCurrency函数
返回一个货币值格式的表达式,它使用系统控制面板中定义的货币符号。
FormatCurrency(Expression[,NumDigitsAfterDecimal
[,IncludeLeadingDigit [,UseParensForNegativeNumbers
[,GroupDigits]]]])
FormatCurrency函数语法有如下几部分:
Expression 必需的。要格式化的表达式。
NumDigitsAfterDecimal
可选的。数字值,表示小数点右边的显示位数。缺省值为&1,表示使用计算机的区域设置值。
IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示一个零。关于其值,请参阅“设置值”部分。
UseParensForNegativeNumbers
可选的。三态常数,表示是否把负数值放在园括号内。关于其值,请参阅“设置值”部分。
GroupDigits
可选的。三态常数,表示是否用组分隔符对数字进行分组,组分隔符由计算机的区域设置值指定。关于其值,请参阅“设置值”部分。
IncludeLeadingDigit、UseParensForNegativeNumbers 和
GroupDigits参数的设置值如下:
常数 值 描述
TristateTrue &1 True
TristateFalse 0 False
TristateUseDefault &2 使用计算机区域设置中的设置值。
当忽略一个或多个选项参数时,被忽略的参数值由计算机的区域设置值提供。
货币符号相对货币值的位置由计算机的区域设置值确定。
除起始的零外,所有设置值信息都来自“区域设置”的“货币”选项卡,起始的零来自“数字”选项卡。
-------------------------
FormatDateTime函数
返回一个日期或时间格式的表达式。
FormatDateTime(Date[,NamedFormat])
FormatDateTime函数语法有如下几部分:
Date 必需的。要被格式化的日期表达式。
NamedFormat 可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用vbGeneralDate。
NamedFormat参数的设置值如下:
常数 值 描述
vbGeneralDate 0
显示日期和/或时间。如果有日期部分,则用短日期格式显示。如果有时间部分,则用长时间格式显示。如果都有,两部分都显示。
vbLongDate 1 用计算机区域设置值中指定的长日期格式显示日期。
vbShortDate 2 用计算机区域设置值中指定的短日期格式显示日期。
vbLongTime 3 用计算机区域设置值中指定的时间格式显示时间。
vbShortTime 4 用24小时格式(hh:mm)显示时间。
-------------------------
FormatNumber函数
返回一个数字格式的表达式。
FormatNumber(Expression[,NumDigitsAfterDecimal
[,IncludeLeadingDigit [,UseParensForNegativeNumbers
[,GroupDigits]]]])
FormatNumber函数语法有如下几部分:
Expression 必需的。要被格式化的表达式。
NumDigitsAfterDecimal
可选的。数字值,表示小数点右边的显示位数。缺省值为&1,表示使用计算机的区域设置值。
IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示零。关于其值,请参阅“设置值”部分。
UseParensForNegativeNumbers
可选的。三态常数,表示是否把负数值放在圆括号内。关于其值,请参阅“设置值”部分。
GroupDigits
可选的。的三态常数,表示是否用组分隔符对数字分组,组分隔符在计算机的区域设置值中指定。关于其值,请参阅“设置值”部分。
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits参数的设置值如下:
常数 值 描述
TristateTrue &1 True
TristateFalse 0 False
TristateUseDefault &2 用计算机区域设置值中的设置值。
当忽略一个或多个选项参数时,被忽略的参数值由计算机的区域设置值提供。
所有设置值信息都来自“区域设置”的“数字”选项卡。
-------------------------
FormatPercent函数
返回一个百分比格式(乘以100)的表达式,后面有%符号。
FormatPercent(Expression[,NumDigitsAfterDecimal
[,IncludeLeadingDigit [,UseParensForNegativeNumbers
[,GroupDigits]]]])
FormatPercent函数语法有如下几部分:
Expression 必需的。要格式化的表达式。
NumDigitsAfterDecimal 可选的。表示小数点右边的显示位数。缺省值为&1,表示使用计算机的区域设置值。
IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示零。关于其值,请参阅“设置值”部分。
UseParensForNegativeNumbers
可选的。三态常数,表示是否把负数放在圆括号内。关于其值,请参阅“设置值”部分。
GroupDigits
可选的。三态常数,表示是否用组分隔符对数字进行分组,组分隔符在计算机的区域设置值中指定。关于其值,请参阅“设置值”部分。
IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits参数的设置值如下:
常数 值 描述
TristateTrue &1 True
TristateFalse 0 False
TristateUseDefault &2 使用计算机区域设置值中的设置值。
当忽略一个或多个选项参数时,被忽略的参数值由计算机的区域设置值提供。
所有的设置值信息都来自“区域设置”的“数字”选项卡。
-------------------------
FreeFile 函数
返回一个 Integer,代表下一个可供 Open 语句使用的文件号。
FreeFile[(rangenumber)]
可选的参数 rangenumber 是一个 Variant,它指定一个范围,以便返回该范围之内的下一个可用文件号。指定
0(缺省值)则返回一个介于 1 & 255 之间的文件号。指定 1 则返回一个介于 256 & 511 之间的文件号。
使用 FreeFile 提供一个尚未使用的文件号。
-------------------------
返回一个 Double,指定未来的定期定额支付且利率固定的年金。
FV(rate, nper, pmt[, pv[, type]])
FV 函数有下列命名参数:
rate 必要。Double,指定每一期的利率。例如,如果有一笔贷款年百分率 (APR) 为百分之十且按月付款的汽车贷款,则利率为
0.1/12 或 0.0083。
nper 必要。Integer,指定一笔年金的付款总期限。例如,如果对一笔为期四年的汽车贷款选择按月付款方式,则贷款期限共有 4 *
12(或 48)个付款期。
pmt 必要。Double 指定每一期的付款金额。付款金额通常包含本金和利息,而且此付款金额在年金的有效期间是不会改变的。
可选。Variant,指定未来一系列付款(或一次付清款项)的现值。例如,当借钱买一辆汽车时,向贷方所借的金额为未来每月付款给贷方的现值。如果省略的话,缺省值为
type 可选。Variant,指定贷款到期时间。如果贷款在贷款周期结束时到期,请使用 0。如果贷款在周期开始时到期,请使用
1。如果省略的话,缺省值为 0。
年金是一段时间内一系列固定现金支付。年金可以是贷款(如房屋抵押贷款),也可以是一笔投资(如按月储蓄计划)。
在支付期间,必须用相同的单位来计算 rate 和 nper 参数。例如,如果 rate 用月份来计算,则 nper
也必须用月份来计算。
对所有参数,用负数表示现金支出(如储蓄存款),而用正数表示现金收入(如红利支票)。
-------------------------
GetAllSettings 函数
从 Windows 注册表中返回应用程序项目的所有注册表项设置及其相应值(开始是由 SaveSetting 产生)。
GetAllSettings(appname, section)
GetAllSettings 函数的语法具有下列命名参数:
appname 必要。字符串表达式,包含应用程序或工程的名称,并要求这些应用程序或工程有注册表项设置
section 必要。字符串表达式,包含区域名称,并要求该区域有注册表项设置。GetAllSettings 返回
Variant,其内容为字符串的二维数组,该二维数组包含指定区域中的所有注册表项设置及其对应值。
如果 appname 或 section 不存在,则 GetAllSettings 返回未初始化的 Variant。
-------------------------
GetAttr 函数
返回一个 Integer,此为一个文件、目录、或文件夹的属性。
GetAttr(pathname)
必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。
由 GetAttr 返回的值,是下面这些属性值的总和:
常数 值 描述
vbNormal 0 常规
vbReadOnly 1 只读
vbHidden 2 隐藏
vbSystem 4 系统文件
vbDirectory 16 目录或文件夹
vbArchive 32 上次备份以后,文件已经改变
vbalias 64 指定的文件名是别名。
注意 这些常数是由 VBA 指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的值。
若要判断是否设置了某个属性,在 GetAttr 函数与想要得知的属性值之间使用 And
运算符与逐位比较。如果所得的结果不为零,则表示设置了这个属性值。例如,在下面的 And 表达式中,如果档案 (Archive)
属性没有设置,则返回值为零:
Result = GetAttr(FName) And vbArchive
如果文件的档案属性已设置,则返回非零的数值。
-------------------------
GetObject 函数
返回文件中的 ActiveX 对象的引用。
GetObject([pathname] [, class])
GetObject 函数的语法包含下面几个命名参数:
pathname 可选的;Variant (String)。包含待检索对象的文件的全路径和名称。如果省略 pathname,则
class 是必需的。
class 可选的;Variant (String)。代表该对象的类的字符串。
其中,class 参数的语法格式为 appname.objecttype,且语法的各个部分如下:
appname 必需的;Variant (String)。提供该对象的应用程序名称。
objecttype 必需的;Variant (String)。待创建对象的类型或类。
使用 GetObject 函数可以访问文件中的 ActiveX 对象,而且可以将该对象赋给对象变量。可以使用 Set 语句将
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
对象,所有这些都是同一个文件中的一部分。为了说明要具体激活文件中的哪种对象,就应使用这个可选的 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,都只能创建该对象的一个实例。若使用单个实例对象,当使用零长度字符串 ("") 语法调用时,GetObject
总是返回同一个实例,而若省略 pathname 参数,就会出错。不能使用 GetObject 来获取 Visual Basic
创建的类的引用。
-------------------------
GetSetting 函数
从 Windows 注册表中的应用程序项目返回注册表项设置值。
GetSetting(appname, section, key[, default])
GetSetting 函数的语法具有下列命名参数:
appname 必要。字符串表达式,包含应用程序或工程的名称,要求这些应用程序或工程有注册表项设置。
section 必要。字符串表达式,包含区域名称,要求该区域有注册表项设置。
key 必要。字符串表达式,返回注册表项设置的名称。
default 可选。表达式,如果注册表项设置中没有设置值,则返回缺省值。如果省略,则 default 取值为长度为零的字符串
如果 GetSetting 的参数中的任何一项都不存在,则 GetSetting 返回 default 的值。
-------------------------
返回代表十六进制数值的 String。
Hex(number)
必要的 number 参数为任何有效的数值表达式或字符串表达式。
如果 number 还不是一个整数,那么在执行前会先被四舍五入成最接近的整数。
如果 number 为 所得为
Empty 零 (0)
任何其他的数字 最多可到八个十六进制字符。
适当范围内的数字,前缀以 &H,可以直接表示十六进制数字。例如,十六进制表示法的 &H10 代表十进制的
-------------------------
返回一个 Variant (Integer),其值为 0 到 23 之间的整数,表示一天之中的某一钟点。
Hour(time)
必要的 time 参数,可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。如果 time 包含
Null,则返回 Null。
返回一个 Variant (Integer),其值为 0 到 23 之间的整数,表示一天之中的某一钟点。
Hour(time)
必要的 time 参数,可以是任何能够表示时刻的 Variant、数值表达式、字符串表达式或它们的组合。如果 time 包含
Null,则返回 Null。
-------------------------
根据表达式的值,来返回两部分中的其中一个。
IIf(expr, truepart, falsepart)
IIf 函数的语法含有下面这些命名参数:
expr 必要参数。用来判断真伪的表达式。
truepart 必要参数。如果 expr 为 True,则返回这部分的值或表达式。
falsepart 必要参数。如果 expr 为 False,则返回这部分的值或表达式。
由于 IIf 会计算 truepart 和 falsepart,虽然它只返回其中的一个。因此要注意到这个副作用。例如,如果
falsepart 产生一个被零除错误,那么程序就会发生错误,即使 expr 为 True。
-------------------------
IMEStatus 函数
返回一个 Integer,用来指定当前 Microsoft Windows 的输入法 (IME)
方式;只对东亚区版本有效。
下面是日本国别的返回值:
常数 值 描述
vbIMEModeNoControl 0 不控制IME(缺省)
vbIMEModeOn 1 打开 IME
vbIMEModeOff 2 关闭 IME
vbIMEModeDisable 3 IME 无效
vbIMEModeHiragana 4 完整宽度 Hiragana 模式
vbIMEModeKatakana 5 完整宽度 Katakana 片假名模式
vbIMEModeKatakanaHalf mode 6 半宽 Katakana 模式
vbIMEModeAlphaFull mode 7 完整宽度 Alphanumeric 模式
vbIMEModeAlpha mode 8 半宽 Alphanumeric 模式
下面是韩国地区的返回值:
常数 值 描述
vbIMEModeAlphaFull 7 完整宽度 Alphanumeric 模式
vbIMEModeAlpha 8 半宽 Alphanumeric 模式
vbIMEModeHangulFull 9 完整宽度 Hangul 模式
vbIMEModeHangul 10 半宽 Hangul 模式
下面是中文地区的返回值:
常数 值 描述
vbIMEModeNoControl 0 不控制IME(缺省)
vbIMEModeOn 1 打开 IME
vbIMEModeOff 2 关闭 IME
-------------------------
Input 函数
返回 String,它包含以 Input 或 Binary 方式打开的文件中的字符。
Input(number, [#]filenumber)
Input 函数的语法具有以下几个部分:
number 必要。任何有效的数值表达式,指定要返回的字符个数。
filenumber 必要。任何有效的文件号。
通常用 Print # 或 Put 将 Input 函数读出的数据写入文件。Input 函数只用于以 Input 或
Binary 方式打开的文件。
与 Input # 语句不同,Input
函数返回它所读出的所有字符,包括逗号、回车符、空白列、换行符、引号和前导空格等。
对于 Binary 访问类型打开的文件,如果试图用 Input 函数读出整个文件,则会在 EOF 返回 True
时产生错误。在用 Input 读出二进制文件时,要用 LOF 和 Loc 函数代替 EOF 函数,而在使用 EOF 函数时要配合以
Get 函数。
注意 对于文本文件中包含的字节数据要使用 InputB 函数。对于 InputB 来说,number
指定的是要返回的字节个数,而不是要返回的字符个数。
-------------------------
InputBox 函数
在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [,
helpfile, context])
InputBox 函数的语法具有以下几个命名参数:
Prompt 必需的。作为对话框消息出现的字符串表达式。prompt 的最大长度大约是 1024 个字符,由所用字符的宽度决定。如果
prompt 包含多个行,则可在各行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符的组合 (Chr(13)
& Chr(10)) 来分隔。
Title 可选的。显示对话框标题栏中的字符串表达式。如果省略 title,则把应用程序名放入标题栏中。
Default 可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略 default,则文本框为空。
Xpos 可选的。数值表达式,成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略
xpos,则对话框会在水平方向居中。
Ypos 可选的。数值表达式,成对出现,指定对话框的上边与屏幕上边的距离。如果省略
ypos,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。
Helpfile 可选的。字符串表达式,识别帮助文件,用该文件为对话框提供上下文相关的帮助。如果已提供 helpfile,则也必须提供
Context 可选的。数值表达式,由帮助文件的作者指定给某个帮助主题的帮助上下文编号。如果已提供 context,则也必须要提供
helpfile。
如果同时提供了 helpfile 与 context,用户可以按 F1 来查看与 context
相应的帮助主题。某些主应用程序,例如,Microsoft Excel,会在对话框中自动添加一个 Help 按钮。如果用户单击 OK
或按下ENTER ,则 InputBox 函数返回文本框中的内容。如果用户单击 Cancel,则此函数返回一个长度为零的字符串
注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用
InputBox。如果要省略某些位置参数,则必须加入相应的逗号分界符。
-------------------------
InStr 函数
返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。
InStr([start, ]string1, string2[, compare])
InStr 函数的语法具有下面的参数:
start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含
Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。
string1 必要参数。接受搜索的字符串表达式。
string2 必要参数。被搜索的字符串表达式。
Compare 可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省略 compare,Option
Compare 的设置将决定比较的类型。
&compare 参数设置为:
常数 值 描述
vbUseCompareOption -1 使用Option Compare 语句设置执行一个比较。
vbBinaryCompare 0 执行一个二进制比较。
vbTextCompare 1 执行一个按照原文的比较。
vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库中信息的比较。
如果 InStr返回
string1 为零长度 0
string1 为 Null Null
string2 为零长度 Start
string2 为 Null Null
string2 找不到 0
在 string1 中找到string2& 找到的位置
start & string2 0
InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。
-------------------------
InStrRev函数
返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。
InstrRev(string1, string2[, start[, compare]])
InstrRev函数语法有如下几部分:
string1 必需的。要执行搜索的字符串表达式。
string2 必需的。要搜索的字符串表达式。
start 可选的。数值表达式,设置每次搜索的开始位置。如果忽略,则使用&1,它表示从上一个字符位置开始搜索。如果 start 包含
Null,则产生一个错误。
可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。关于其值,请参阅“设置值”部分。
compare参数值如下:
常数 值 描述
vbUseCompareOption &1 用Option Compare语句的设置值来执行比较。
vbBinaryCompare& 0 执行二进制比较。
vbTextCompare& 1 执行文字比较。
vbDatabaseCompare& 2 只用于Microsoft
Access。基于您的数据库信息执行比较。
InStrRev返回值如下:
如果 InStrRev返回
string1长度为零。 0
string1为Null。 Null
string2长度为零 Start
string2为Null Null
string2没有找到。 0
string2在string1中找到。 找到匹配字符串的位置。
start & Len(string2) 0
请注意,InstrRev函数的语法和Instr函数的语法不相同。
-------------------------
Int、Fix 函数
返回参数的整数部分。
Int(number)
Fix(number)
必要的 number 参数是 Double 或任何有效的数值表达式。如果 number 包含 Null,则返回
Int 和 Fix 都会删除 number 的小数部份而返回剩下的整数。
Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而
Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成
Fix(number)
Sgn(number) * Int(Abs(number))
-------------------------
返回一个 Double,指定在一段时间内对定期定额支付且利率固定的年金所支付的利息值。
IPmt(rate, per, nper, pv[, fv[, type]])
IPmt 函数有下列命名参数:
rate 必要。Double 指定每一期的利率。例如,如果有一笔贷款年百分率 (APR)
为百分之十且按月付款的汽车贷款,则每一期的利率为 0.1/12,或 0.0083。
per 必要。Double 指定在 nper 间范围 1 中的付款周期。
nper 必要。Double 指定一笔年金的付款总期数。例如,如果在一笔为期四年的汽车贷款中选择按月付款方式,则贷款共有 4 *
12(或 48)个付款期。
必要。Double,指定未来一系列付款或收款的现值。例如,当借钱买汽车时,向贷方所借金额为将来每月偿付给贷方款项的现值。
fv 可选。Variant 指定在付清贷款后所希望的未来值或现金结存。例如,贷款的未来值在贷款付清后为 0 美元。但是,如果想要在
18 年间存下 50

我要回帖

更多关于 vb判断正负数 的文章

 

随机推荐