【问题标题】:how do get this to work on the current viewing folder如何让它在当前查看文件夹上工作
【发布时间】:2021-02-03 14:00:26
【问题描述】:

我希望在探索时为当前查看的文件夹运行它,而不是汽车文件夹尝试了一些事情但没有成功。

Public Sub Move_Inbox_Emails_From_Excel()

Dim outApp As Object
Dim outNS As Object
Dim inboxFolder As Object
Dim destFolder As Object
Dim outEmail As Object
Dim inboxItems As Object
Dim i As Integer
Dim inputNumber As String
Dim numberToMove As Integer

inputNumber = InputBox("Enter number of emails to move")
On Error Resume Next
numberToMove = CInt(inputNumber)
On Error GoTo 0
If numberToMove < 1 Then Exit Sub

Set outApp = CreateObject("Outlook.Application")
Set outNS = outApp.GetNamespace("MAPI")
Set inboxFolder = outNS.GetDefaultFolder(olFolderInbox)
Set destFolder = inboxFolder.Parent.Folders("Car")             'Test folder at same level as Inbox

'Sort Inbox items by Received Time

Set inboxItems = inboxFolder.Items
'inboxItems.Sort "[ReceivedTime]", False     'ascending order (oldest first)
inboxItems.Sort "[ReceivedTime]", True      'descending order (newest first)

'Loop through sorted items for the number entered by the user, up to the number of items in the Inbox

For i = inboxFolder.Items.Count To inboxFolder.Items.Count - numberToMove + 1 Step -1
Set outEmail = inboxItems(i)
'Debug.Print i, outEmail.Subject
outEmail.Move destFolder
Next
End Sub

【问题讨论】:

  • 谢谢你为我做了这些我有另一个挑战我有一个共享收件箱我希望它从收件箱中提取而不是我自己的任何建议这样做?
  • 或者更好,如果这总是只选择我所在邮箱的收件箱,这样我就可以将它用于任何地方
  • 调查这是否正确让 inboxFolder 需要成为 destFolder 的父文件夹是可能的

标签: vba email outlook directory move


【解决方案1】:

换行

Set destFolder = inboxFolder.Parent.Folders("Car")  

Set destFolder = outApp.ActiveExplorer.CurrentFolder

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 2019-10-16
    相关资源
    最近更新 更多