简明Excel VBA(七)字符串String相关常用操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简明Excel VBA(七)字符串String相关常用操作相关的知识,希望对你有一定的参考价值。

参考技术A

本文集同步于GitHub仓库:# bluetata / concise-excel-vba

Trim 函数删除给定输入字符串的前导空格和尾随空格。</br>
语法:Trim(String)

InStr 函数返回一个字符串第一次出现在一个字符串,从左到右搜索。返回搜索到的字符索引位置。</br>
InStrRev 函数与 InStr 功能相同,从 到左搜索。返回搜索到的字符索引位置。

语法:InStr([start, ]string1, string2[, compare])
参数:

Mid 函数返回给定输入字符串中指定数量的字符。</br>
语法:Mid(String, start[, Length])</br>
参数:

Left 和 Right 截取字符串,从左或者从右开始。</br>
语法:Left(String, Length)</br>
参数:

Replace 函数 将一个字符串替换另一个字符串,可指定的次数。</br>
语法:Replace(string, findString, replaceWith[, start[, count[, compare]]])</br>
参数:

示例:</br>

语法:StrReverse(string) </br>
示例:</br>

Excel: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删除文件:

Killpathname从磁盘中删除文件, pathname参数是用来指定一个文件名

RmDirpathname从磁盘中删除删除目录,pathname参数是用来指定一个文件夹

6,用VBA打开文件:

Openpathname 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))。


作者:nj198624
来源:CSDN
原文:https://blog.csdn.net/nj198624/article/details/8160404



以上是关于简明Excel VBA(七)字符串String相关常用操作的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA里面怎样把数字转换成字符串

(VBA Excel) 从字符串中提取文本和相关字母并输出结果

VBA Excel不像字符串If语句

如何在 Excel VBA 中将整数转换为字符串?

excel vba移位运算

excel vba移位运算