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 的话则会。
如果要格式化一个没有本地化的数值字符串,应该使用一个用户自定义的数值格式,以保证得到需要的外观。
注意 如果 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 |
Format 函数示例
本示例显示用 Format 函数做格式化输出的不同用法。对于日期分隔号(/),时间分隔号(:),以及 AM/ PM 等文本而言,其真正的显示格式会因计算机上的国际标准不同而有所差异。在开发阶段,日期与时间是以短日期的格式,配合代码的国际标准来显示的。而在运行时,短日期则是根据系统的国际标准而定,而系统的国际标准和代码的国际标准可能并不相同。本示例中是假设国际标准为 English/United States。
MyTime 及 MyDate 在开发环境下,使用系统的短日期设置显示出来的。
Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
' 以系统设置的长时间格式返回当前系统时间。
MyStr = Format(Time, "Long Time")
' 以系统设置的长日期格式返回当前系统日期。
MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s") ' 返回 "17:4:23"。
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' 返回 "05:04:23 PM"。
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' 返回 "Wednesday, Jan 27 1993"。
' 如果没有指定格式,则返回字符串。
MyStr = Format(23) ' 返回 "23"。
' 用户自定义的格式。
MyStr = Format(5459.4, "##,##0。00") ' 返回 "5,459.40"。
MyStr = Format(334。9, "###0。00") ' 返回 "334.90"。
MyStr = Format(5, "0。00%") ' 返回 "500.00%"。
MyStr = Format("HELLO", "<") ' 返回 "hello"。
MyStr = Format("This is it", ">") ' 返回 "THIS IS IT"。
source:VBA Help
本文详细介绍了VBA中Format函数的使用方法,包括其语法、参数解释、格式化数字、日期和时间的具体操作,以及如何创建用户自定义格式。通过实例展示了不同格式化输出的应用。
13

被折叠的 条评论
为什么被折叠?



