2009-07-31 32 views
0

注意该函数的参数名为strToothpaste。当函数被调用时,传入的变量使用相同的名称。VBA用户函数:参数名称和提交的变量名称匹配不好?

Private Sub DoThis() 
    Dim strToothpaste as String 
    Dim booSmellsFunny as Boolean 
    booSmellsFunny = fnc_Fragrance(strToothpaste) 
End Sub 
-------------------------- 
Private Function fnc_Fragrance(strToothpaste As String) as Boolean 
    If strToothpaste Like "Dr Watson's" Then 
    fnc_Fragrance = True 
    Else 
    fnc_Fragrance = False 
    End If 
End Function 
  • 是否有过与重复使用名称的问题?
  • 如果变量的范围没有正确限制 ,那么名称 的名称会变得危险吗?
  • 如果以上情况属实, 那么这是否意味着良好的范围 意味着名称可以回显没有 的问题?
  • 递归影响 什么? (除了 仔细检查范围...)
+0

我很担心这个问题多年,但却懒得去研究它。 (哎呀,我现在太懒了......我只是在SO上发布一篇文章!)现在,随着我在重新使用代码方面做得更好,我经常“调整”的变量名称是一件麻烦事。我想这个麻烦只是由于易读性差。但我需要所有我能得到的帮助! – Smandoli 2009-07-31 19:35:30

回答

4
  1. 没有一点都没有,VBA是足够聪明,以确定该参数是参数作用域功能
  2. 是的,这可能是危险的,如果你习惯了选择性表达式关闭,这对你的理智来说永远不会有好处。
  3. 有正确的作用域名可以回显,没有问题。
  4. 根本不是。

希望这会有所帮助。

+0

如果我疯了,这并不是因为我将Option Explicit关闭。不过谢谢。 – Smandoli 2009-07-31 19:31:04