如何理解vba中的定长字符串变量?





在vba中字符串变量可以有两种,一种是可变长度字符串变量,一种是固定长度字符串变量。

其中可变长度字符串变量的定义方式如下:

dim str1 as string

固定长度字符串变量的定义如下:

dim str2 as string *10

其中*10,表示申明str2变量为只能容纳10个字符长度的字符串变量

当定义了一个定长字符串变量时,未赋值以前,默认是以空字符(等于vbNullChar也等于chr(0))填充的,可以通过下面的代码验证。

当将一个超过10个字符长度的字符串赋值给定长字符串变量str2时,系统将自动截取前10个字符保存。

如下代码所示:

str2变量的值实际为str1变量的前10个字符,也就是”asfdasdfas”。

当将一个小于10字符长度的字符串赋值给定长字符串变量str2时,系统将前面的字符填充具体的字符串,其余的以空格字符存储。可以通过以下的代码验证:

通过监视arr数组变量,可以看到前8个字节分别存储了字符”a”、”d”、”s”、“f”,后面的12个字节存储的都是空格字符。

 

 

 

发表评论