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

从Python转VBA:如何忽略API函数的返回变量NumberNames?

解决VBA中忽略函数输出参数的问题

VBA没有Python里用下划线_忽略返回值的语法,针对你提到的ETABS的GetNameList方法,要忽略NumberNames这个输出参数,有两种简单可行的方式:

  • 声明临时占位变量
    直接声明一个变量用来接收不需要的输出值,后续代码里不用它就行。比如NumberNames是长整型(Long),可以这么写:

    Dim dummyNumber As Long
    Dim MyName() As String
    Dim ret As Long
    
    ret = ETABSModel.PierLabel.GetNameList(dummyNumber, MyName)
    

    这里的dummyNumber就是用来承接NumberNames的返回值,不用管它就相当于“忽略”了这个参数。

  • 使用未声明的变量(不推荐)
    如果你的代码没有开启Option Explicit(不建议关闭,容易引发错误),可以直接传一个临时变量名,VBA会自动声明:

    Dim MyName() As String
    Dim ret As Long
    
    ret = ETABSModel.PierLabel.GetNameList(temp, MyName)
    

    但这种写法不规范,容易导致变量名冲突,所以更推荐第一种方法。

要注意的是,ETABS的这类方法里,输出参数都是按引用传递的,必须传入一个变量,不能直接传常量或者空值,所以必须用一个变量来“承接”不需要的返回值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 05:08:15