【问题标题】:Change Outlook Inbox VBA code is operating on更改 Outlook 收件箱 VBA 代码正在运行
【发布时间】:2020-06-30 20:11:32
【问题描述】:

我编写了一个 VBA 脚本,目前它只在 Outlook 中打开的第一个收件箱中运行。

如何指定它在哪个收件箱上运行?即,另一个帐户的收件箱。

我假设这里的某个地方 -

Sub MoveAgedMail()

Dim objOutlook As Outlook.Application
Dim objNamespace As Outlook.NameSpace
Dim objSourceFolder As Outlook.MAPIFolder
Dim objDestFolder As Outlook.MAPIFolder
Dim objVariant As Variant
Dim lngMovedItems As Long
Dim intCount As Integer
Dim intDateDiff As Integer
Dim strDestFolder As String

【问题讨论】:

标签: vba outlook


【解决方案1】:

即,另一个帐户的收件箱。

假设您谈论的是共享收件箱

VBA 示例代码将是

Option Explicit
Sub OpenShareInbox()
    Dim olNameSpace As Outlook.NameSpace
    Dim olRec As Outlook.Recipient
    Dim olFolder As Outlook.Folder

    Set olNameSpace = Application.GetNamespace("MAPI")
    Set olRec = olNameSpace.CreateRecipient("Om3r@Email.com") '// Owner's email address
    Set olFolder = olNameSpace.GetSharedDefaultFolder(olRec, olFolderInbox)

    MsgBox olRec.Name '// Owner Name

    olFolder.Display '// Open Inbox
End Sub

编辑:

这是另一个示例 - 打开您的即时窗口并打印主题行

Option Explicit
Sub OpenShareInbox()
    Dim olNameSpace As Outlook.NameSpace
    Dim olRec As Outlook.Recipient
    Dim olFolder As Outlook.Folder

    Dim olItem As Outlook.MailItem

    Set olNameSpace = Application.GetNamespace("MAPI")
    Set olRec = olNameSpace.CreateRecipient("Om3r@Email.com") '// Owner's email address
    Set olFolder = olNameSpace.GetSharedDefaultFolder(olRec, olFolderInbox) '// Inbox


    For Each olItem In olFolder.Items
        Debug.Print olItem.Subject
    Next

End Sub

或转发主题为“报告”的邮件项目

For Each olItem In olFolder.Items
    If olFolder.DefaultItemType = olMailItem Then
        If olItem.Class = olMail Then
            If olItem.Subject = "Report" Then
                Set olItem = olItem.Forward
                olItem.Subject = "APPENDED SUBJECT - " + olItem.Subject + ""
                olItem.Recipients.Add "Om3r <Om3r@Email.com>"
                olItem.Display
    '            olItem.Send
            End If
        End If
    End If
Next

NameSpace.GetSharedDefaultFolderMethod (Outlook)on MSDN

【讨论】:

  • 谢谢,只是为了澄清一下 - 我有多个交易所账户链接到一个 Outlook 配置文件。就目前而言,我的 VBA 代码只能在主要交易所账户上运行,但我希望能够指定它作用于哪个账户。这段代码会实现这一点吗?我在实施它时遇到了麻烦。我只需要设置变量和调暗,然后它就可以工作了吗?
  • 是的,是的,请参阅答案编辑。我不知道您尝试做什么,但尝试使用此代码,如果您仍然遇到问题,请使用您的代码完整代码发布新问题。
猜你喜欢
  • 1970-01-01
  • 2010-10-28
  • 2016-11-10
  • 2012-03-24
  • 1970-01-01
  • 2013-09-07
  • 1970-01-01
  • 1970-01-01
  • 2020-05-16
相关资源
最近更新 更多