Vba中的一些inBuilt函数可以在有或没有类的情况下调用.哪一个更好用?
调用Sub/Function时
vba.Format(date,"yy-MM-dd")
'or
Format(date,"yy-MM-dd")
Run Code Online (Sandbox Code Playgroud)
此外,在标注变量时,可能会也可能不会使用该类.在这种情况下,哪个更好?
Dim xmlDoc As MSXML2.DOMDocument60
'or
Dim xmlDoc As DOMDocument60
Run Code Online (Sandbox Code Playgroud)
我倾向于使用类和名称,以防有人定义了可能带来冲突的函数/ Sub /类型.但性能怎么样?当拥有大量的代码和程序时,一个或那个会对性能/速度产生影响吗?在决定是使用一种形式还是另一种形式时,是否还有其他方面需要考虑?
如果我正确理解你,并且如果我对VBA的理解是正确的,那么无论你是否使用库前缀限定属性或方法,它在性能方面都没有太大的区别.我认为没有必要限定vba库中引用的对象(如果你确实在vba环境中工作,而不是说.net使用interop),但是当你设置外部引用时(例如MSXML2,或者脚本),为了清晰起见,完全限定函数引用可能是有益的.
使用完全限定名称可以提高清晰度(在某些情况下).在未来一年,当其他人去维护您的代码时,他们可能会发现某些功能是在引用的库中定义的(例如MSXML2).此外,如果引用的库包含与vba库同名的函数,或者另一个库设置为引用,则需要限定函数名称.
从引用的库中完全限定函数名称可能是一种很好的做法.虽然vba库也被设置为vba应用程序中的引用,但我认为这是您不需要限定的一个库.
请注意,使用完全限定名称意味着一些额外的输入.由于您的应用程序是用vba编写的,因此使用vba.Function将是半冗余的.但是对于引用的库,你需要在清晰度/可维护性和易于键入之间做出选择(我已经订阅了学校"写下代码的方式,这将使下一个必须处理它的人受益",然后再进行编写自己写"更容易".