【发布时间】:2020-09-05 09:09:02
【问题描述】:
此代码非常适用于普通收件箱,但是如何更改代码以从共享邮箱(xxx@mail .com).folder(收件箱)
如何修改此代码以从特定的共享邮箱“收件箱”触发
Public WithEvents xlItems As Outlook.Items
Private Sub Application_Startup()
Set xlItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub
完整代码:
Public WithEvents xlItems As Outlook.Items
Private Sub Application_Startup()
Set xlItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub xlItems_ItemAdd(ByVal objItem As Object)
Dim xlReply As MailItem
Dim xStr As String
If objItem.Class <> olMail Then Exit Sub
Set xlReply = objItem.Reply
With xlReply
xStr = "<p>" & "Hi Team, Acknowledging that we have received the Job. Thank you!" & "</p>"
.HTMLBody = xStr & .HTMLBody
.Send
End With
End Sub
我尝试修改代码,但没有成功
Option Explicit
Private WithEvents olInboxItems As Items
Dim objNS As NameSpace
Set objNS = Application.Session
' instantiate objects declared WithEvents
Set olInboxItems = objNS.Folders("xxxxxxxx@gmail.com").Folders("Inbox").Items
Set objNS = Nothing
End Sub
Private Sub olInboxItems_ItemAdd(ByVal Item As Object)
Dim xlReply As MailItem
Dim xStr As String
If objItem.Class <> olMail Then Exit Sub
Set xlReply = objItem.Reply
With xlReply
xStr = "<p>" & "Hi Team, Acknowledging that we have received the Job. Thank you!" & "</p>"
.HTMLBody = xStr & .HTMLBody
.Send
End Sub
【问题讨论】:
-
发帖时描述您看到的任何问题。在修改后的代码中,
If objItem.Class <> olMail Then应该有一个错误,因为objItem不存在。修改后的代码缺少Private Sub Application_Startup()。直接从编辑器中复制代码。 -
我试过了,但我不知道 Niton 的代码,请你解决这个问题。 完整代码中提到的代码可以正常工作。当我在修改下包含共享文件夹中的外观时,我遇到了问题
-
此外,如果我包含“Private Sub Application_Startup()”,它也会触发确认邮件以进行回复并转发邮件。如何限制这些。