300英雄魂魄妖梦台词:在VBA中 “:=” 这个运算符(当然是不包括双引号)是什么意思啊?

来源:百度文库 编辑:高校问答 时间:2024/05/01 06:14:52
在VBA中 “:=” 这个运算符(当然是不包括双引号)是什么意思啊?

VBA 似乎没有 := 运算符,我试过了,但是 Visual Basic 开发软件里有。

下面是我的认识。

通常在 VB 里,我们会声明一些有参数的函数(或子过程),例如:

Function SayHello(Who)
MsgBox "Hello, " & Who & "!", vbInformation
End Function

然后调用时会这样写:
SayHello "Jack"

这是最简单的函数之一。但如果遇到下面的函数:

Function Difficult(A, Optional B, Optional C, Optional D, E, F, G, H, I)

那就麻烦了! 除 B, C, D 参数外,其他都是必填参数。那么调用时,代码就会这样:

Difficult "Bill Gates", , , , "Microsoft", "Macromedia", "...", "...", "..."

这行代码的前面几个连续逗号是因为省略了可选参数而造成的,这样就会降低程序的可读性,也难于维护(这就和在 C++ 里随意将代码乱写、缩进次序不分的现象一样糟糕)。所以,可以采用 := 运算符来优化这行代码:

Difficult A := "Bill Gates", E := "Microsoft", F := "Macromedia", G := "...", H := "...", I := "..."

这种代码只说出了必填参数的实参,而没有说明可选参数。所以代码就比较直观了。

起初我也搞不懂 := 是啥,还想到了这是 Authorware 里面的赋值运算符……晕!!后来自己实践才知道有这样的作用……所以,实践十分重要!!!

至于这个运算符的名称,我也不知道,暂且叫“参数赋值符”吧!

:=好像是PASCAL里面的赋值运算符吧,VB里面MS没有的样子。