最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【整理】VBA中的有些函数后面的美元符号$的含义

VBA crifan 6299浏览 0评论

【整理】VBA中的有些函数后面的美元符号$的含义

VBA中很多字符类处理函数以及一些其他函数(比如Environ),其函数有两种不同的版本,一种是正常的,一种是后面加了个美元符号$,比如:

Chr$, ChrB$, Command$
CurDir$ Date$ Dir$ 
Error$ Format$ Hex$ 
Input$ InputB$ LCase$ 
Left$ LeftB$ LTrim$ 
Mid$ MidB$ Oct$ 
Right$ RightB$ RTrim$ 
Space$ Str$ String$ 
Time$ Trim$ UCase$ 

加了美元符号$,其中$表示String,也就是明确指定传回的是一个字符串。

不加美元符号的,函数返回值为Variant 类型的变量。

(注:VB中的变量类型,和其他语言中类似,也有字符类型,但是还有个特殊的,不加限制的Variant类型,即变量类型,可以在需要的时候,转换为其他类型,赋值给与其他类型。由于不限制类型,所以会占用最大的内存,以兼容其他类型。)

因此,加了美元符号的函数,直接表明需要返回的是string字符串类型,所以,相对Variant类型,效率会有一定提高。

而实际代码运行起来,效率差别一般不大。

再附上官方的解释:

Visual Basic 6.0

在 Visual Basic 6.0 中,某些函数有两个版本,一个返回 String 值,一个返回 Variant 值。这些函数对通过美元符号 ($) 后缀来与 String 版本区分开来;例如,ChrChr$

Visual Basic 2005

Visual Basic 2005 以单个函数替换每个函数对。Variant 版本已停止,可以使用 $ 后缀来调用 String 版本,也可以不使用 $ 后缀调用该版本。

尽管只定义了 Trim,Visual Basic 2005 也接受 Trim$,因为 $ 充当 String 数据类型的标识符类型字符。

 

【引用】

1。在函数后面加一个美元符号($)有什么用?

http://access911.net/fixhtm/72FAB11E17DCEDF3.htm

2。字符串 ($) 函数(针对 Visual Basic 6.0 用户)

http://msdn.microsoft.com/zh-cn/library/5eaw1esb(v=vs.80).aspx

3。Trim 函数 与 Trim$ 函数 有什么区别?

http://topic.csdn.net/t/20060706/16/4864564.html

转载请注明:在路上 » 【整理】VBA中的有些函数后面的美元符号$的含义

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.194 seconds, using 22.06MB memory