gpt4 book ai didi

VBA 尝试和捕获 (MS Outlook)

转载 作者:行者123 更新时间:2023-12-02 21:16:48 24 4
gpt4 key购买 nike

我使用以下函数来监视公共(public) Outlook 文件夹是否有新电子邮件到达:

Public Sub Application_Startup()

Set NewMail = Application.GetNamespace("MAPI").Folders(3).Folders(2)....

End Sub

由于某种原因,此公用文件夹的路径每周都会发生变化。变化的是 .Folders(3) 中的数字。它从 1 到 3 不等。显然,为了保持函数正常工作并捕获错误,当路径更改时,我想实现一个 try 和 catch 函数,例如:

Try {
Set NewMail = Application.GetNamespace("MAPI").Folders(1).Folders(2)....
Catch Error

Try {
Set NewMail = Application.GetNamespace("MAPI").Folders(2).Folders(2)....
Catch Error

Try {
Set NewMail = Application.GetNamespace("MAPI").Folders(2).Folders(2)....
Catch Error

由于我是 VBA 新手,所以我很难实现这个 Try and Catch 函数。任何人都可以协助处理 Outlook 中的 VBA 代码吗?

我认为我刚刚实现的一个解决方案是:

For i = 1 To 3

On Error Resume Next

Set NewMail = Application.GetNamespace("MAPI").Folders(i).Folders(2)....

Next i

最佳答案

VBA 中的错误处理基于On Error 语句。以下文章介绍了如何处理 VBA 中的错误:

Try/Catch block 用于加载项。

注意,您可以使用NameSpace.GetDefaultFolder获取 Exchange 公用文件夹存储中的所有公用文件夹文件夹的方法。您只需传递 olPublicFoldersAllPublicFolders 值。请参阅以下页面上的示例代码:

关于VBA 尝试和捕获 (MS Outlook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30188584/

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