【问题标题】:Pass a variable as an argument inside its own with block将变量作为参数传递给它自己的 with 块
【发布时间】:2015-03-31 16:20:45
【问题描述】:

我正在 VBA 中调整我的 Outlook 规则,并且不小心/本能地尝试通过将变量引用为 With 块内的点来传递变量

在我的例子中,var 是 CurrentItem,我的一个子例程期望它在参数列表中。通常,您可以通过使用点来速记引用 With 块内的 var(例如 With regEx .Global = True, .Pattern = "^.*$" End With)。

尝试将点作为 arg 传递,但没有奏效。我很好奇是否有这样的速记来引用 With 块内的 var 本身?下面是代码示例:

With CurrentItem
    If .Class = olMail Then
        sFromName = .SenderName
        sID = .Sender.ID
        ''dot arg that doesn't work:
        ''GetSMTP sFromName, sID, .
        GetSMTP sFromName, sID, CurrentItem 
    End If
End With

【问题讨论】:

  • 别忘了将我的答案标记为已接受。

标签: vba reference subroutine with-statement param


【解决方案1】:

不,您不能引用 With 块中的当前项目。这确实是你能得到的最好的:

With CurrentItem
    If .Class = olMail Then
        GetSMTP .SenderName, .Sender.ID, CurrentItem 
    End If
End With

【讨论】:

    猜你喜欢
    • 2015-08-14
    • 1970-01-01
    • 2015-08-24
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多