【发布时间】: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