gpt4 book ai didi

vba - 在 Outlook 中收到新邮件后,如何传递第二个变量以运行?

转载 作者:行者123 更新时间:2023-12-01 15:32:12 24 4
gpt4 key购买 nike

Private WithEvents Items As Outlook.Items
Public MyTrueFalse As Boolean
Private Sub Application_Startup()
Dim MyTrueFalse As Boolean 'Redundant?'
MyTrueFalse = True 'Defaults to False'
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
' default local Inbox
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Items_ItemAdd(ByVal item As Object, ByVal MyTrueFalse As Boolean)
If MyTrueFalse Then GoTo DoThisAlso 'Example Only'
On Error Goto ErrorHandler
Dim Msg As Outlook.MailItem
If TypeName(item) = "MailItem" Then
Set Msg = item
' ******************
' do something here
' ******************
End If
DoThisAlso:
MsgBox "MyTrueFalse is: " & MyTrueFalse
ProgramExit:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub

我正在使用上面的代码,它在 NEW EMAIL 触发器上运行良好(谢谢 - Gautam Mainkar(LINK)。但是,我正在尝试将 bool (真/假)变量与 Items 事件一起传递触发。

因此,我试图在 Application_Startup() 中设置 say...MyTrueFalse,因此它仅设置一次,并在 Items_ItemAdd 被新电子邮件触发时传递。

我不想要另一个子例程,只需传递在 Application_Startup() 中设置的 MyTrueFalse bool 值。

我在 Items_ItemAdd 子项上尝试了多种公共(public)设置和多个变量,但没有任何效果。我希望有人能在这里帮助我。谢谢

哦是的:它驻留在 ThisOutlookSession 中

最佳答案

Private WithEvents Items As Outlook.Items
Private MyTrueFalse As Boolean
Private Sub Application_Startup()
MyTrueFalse = True
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
' default local Inbox
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Items_ItemAdd(ByVal item As Object)
If MyTrueFalse Then GoTo DoThisAlso 'Example Only'
On Error Goto ErrorHandler
Dim Msg As Outlook.MailItem
If TypeName(item) = "MailItem" Then
Set Msg = item
' ******************
' do something here
' ******************
End If
DoThisAlso:
MsgBox "MyTrueFalse is: " & MyTrueFalse
ProgramExit:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub

Tim Williams 是对的,更正了代码(以上)并且效果很好!!谢谢蒂姆。迈克

关于vba - 在 Outlook 中收到新邮件后,如何传递第二个变量以运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43024568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com