You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带括号调用VBA函数时,能否使用命名参数?

带括号调用VBA函数时完全可以使用命名参数!

当然可以!这正是命名参数设计的核心意义之一——让需要获取返回值的函数调用,也能保持清晰可读,彻底摆脱那些占位用的空逗号。

你完全可以把原来那种可读性极差的写法:

Set opened_wb = Workbooks.Open(file, , , , , , , , , , , , , True)

改成带括号+命名参数的版本,既符合VBA“使用返回值需加括号”的规则,又让代码一目了然:

Set opened_wb = Workbooks.Open(Filename:=file, Local:=True)

几个实用小细节:

  • 命名参数的顺序不固定,只要参数名称和函数定义匹配就行,比如你也可以反过来写:
    Set opened_wb = Workbooks.Open(Local:=True, Filename:=file)
    
  • 若需要混合位置参数和命名参数,位置参数必须放在命名参数之前,但除非有特殊需求,更推荐全用命名参数来最大化可读性。
  • 这个规则适用于所有VBA函数,包括自定义函数。比如你写了一个自定义计算函数:
    Function CalculateTotal(Price As Double, Quantity As Integer, Discount As Double) As Double
        CalculateTotal = Price * Quantity * (1 - Discount)
    End Function
    
    调用时带括号取返回值,用命名参数的写法是:
    Dim total As Double
    total = CalculateTotal(Price:=99.9, Quantity:=5, Discount:=0.1)
    

总之,不用再忍受一堆空逗号的混乱写法了,带括号调用函数时放心用命名参数就好!

内容的提问来源于stack exchange,提问作者Harper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:34:31