首页 > 代码库 > 【转】VBA 常用函数

【转】VBA 常用函数

1,vba字符串函数列表: 
Trim(string)             去掉string左右两端空白 
Ltrim(string)            去掉string左端空白 
Rtrim(string)            去掉string右端空白 
Len(string)              计算string长度 
Left(string, x)          取string左段x个字符组成的字符串 
Right(string, x)         取string右段x个字符组成的字符串 
Mid(string, start,x)     取string从start位开始的x个字符组成的字符串 
Ucase(string)            转换为大写 
Lcase(string)            转换为小写 
Space(x)                 返回x个空白的字符串 
Asc(string)              返回一个 integer,代表字符串中首字母的字符代码 
Chr(charcode)           返回 string,其中包含有与指定的字符代码相关的字符 


2,VBA转换函数列表: 
CBool(expression)        转换为Boolean型 
CByte(expression)        转换为Byte型 
CCur(expression)         转换为Currency型 
CDate(expression)      转换为Date型 
CDbl(expression)         转换为Double型 
CDec(expression)         转换为Decemal型 
CInt(expression)         转换为Integer型 
CLng(expression)         转换为Long型 
CSng(expression)         转换为Single型 
CStr(expression)         转换为String型 
CVar(expression)         转换为Variant型 
Val(string)             转换为数据型 
Str(number)              转换为String 


3,VBA时间函数: 
Now          返回一个 Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。 
Date        返回包含系统日期的 Variant (Date)。 
Time         返回一个指明当前系统时间的 Variant (Date)。 
Timer        返回一个 Single,代表从午夜开始到现在经过的秒数。 
TimeSerial(hour, minute, second) 返回一个 Variant (Date),包含具有具体时、分、秒的时间。 
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目 
Second(time) 返回一个 Variant (Integer),其值为 0 到 59 之间的整数,表示一分钟之中的某个秒 
Minute(time) 返回一个 Variant (Integer),其值为 0 到 59 之间的整数,表示一小时中的某分钟 
Hour(time) 返回一个 Variant (Integer),其值为 0 到 23 之间的整数,表示一天之中的某一钟点 
Day(date) 返回一个 Variant (Integer),其值为 1 到 31 之间的整数,表示一个月中的某一日 
Month(date) 返回一个 Variant (Integer),其值为 1 到 12 之间的整数,表示一年中的某月 
Year(date) 返回 Variant (Integer),包含表示年份的整数。 
Weekday(date, [firstdayofweek]) 返回一个 Variant (Integer),包含一个整数,代表某个日期是星期几 


4,VBA获取文件列表: 
Dir[(pathname[, attributes])] ;pathname 可选参数,用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 (""); attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。 


5,VBA删除文件: 
Kill pathname 从磁盘中删除文件, pathname 参数是用来指定一个文件名 
RmDir pathname 从磁盘中删除删除目录,pathname 参数是用来指定一个文件夹 


6,用VBA打开文件: 
Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength] 能够对文件输入/输出 (I/O)。 
pathname 必要。字符串表达式,指定文件名,该文件名可能还包括目录、文件夹及驱动器。 
mode 必要。关键字,指定文件方式,有 Append、Binary、Input、Output、或 Random 方式。如果未指定方式,则以 Random 访问方式打开文件。 
access 可选。关键字,说明打开的文件可以进行的操作,有 Read、Write、或 Read Write 操作。 
lock 可选。关键字,说明限定于其它进程打开的文件的操作,有 Shared、Lock Read、Lock Write、和 Lock Read Write 操作。 
filenumber 必要。一个有效的文件号,范围在 1 到 511 之间。使用FreeFile 函数可得到下一个可用的文件号。 reclength 可选。小于或等于 32,767(字节)的一个数。对于用随机访问方式打开的文件,该值就是记录长度。对于顺序文件,该值就是缓冲字符数。 
说明 对文件做任何 I/O 操作之前都必须先打开文件。Open 语句分配一个缓冲区供文件进行 I/O 之用,并决定缓冲区所使用的访问方式。如果 pathname 指定的文件不存在,那么,在用 Append、Binary、Output、或 Random 方式打开文件时,可以建立这一文件。如果文件已由其它进程打开,而且不允许指定的访问类型,则 Open 操作失败,而且会有错误发生。如果 mode 是 Binary 方式,则 Len 子句会被忽略掉。 
重要 在 Binary、Input 和 Random 方式下可以用不同的文件号打开同一文件,而不必先将该文件关闭。在 Append 和 Output 方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件 


7,VBA读入文件: 
Input #filenumber, varlist 从已打开的顺序文件中读出数据并将数据指定给变量 
Get [#]filenumber, [recnumber], varname将一个已打开的磁盘文件读入一个变量之中。 


8,写入文件: 
Write #filenumber, [outputlist] 将数据写入顺序文件 
Print #filenumber, [outputlist] 将格式化显示的数据写入顺序文件中 
Put [#]filenumber, [recnumber], varname 将一个变量的数据写入磁盘文件中。 


9,VBA关闭文件: 
Close [filenumberlist] 关闭 Open 语句所打开的输入/输出 (I/O) 文件 
注意 如果今后想用 Input # 语句读出文件的数据,就要用 Write # 语句而不用 Print # 语句将数据写入文件。因为在使用 Write # 时,将数据域分界就可确保每个数据域的完整性,因此可用 Input # 再将数据读出来。使用 Write # 还能确保任何地区的数据都被正确读出。Write 与 Print # 语句不同,当要将数据写入文件时,Write # 语句会在项目和用来标记字符串的引号之间插入逗号。Write # 语句在将 outputlist 中的最后一个字符写入文件后会插入一个新行字符,即回车换行符,(Chr(13) + Chr(10))。