【发布时间】:2018-10-22 10:28:43
【问题描述】:
我正在尝试制作一个一键式文件宏,用于查看目录并将电子邮件归档到相应的文件夹中。 我遇到的问题是我必须有针对每个类别的代码,因为文件夹有不同的路径。有没有办法不必将完整路径放入代码中?
见下例
Sub Move_Email()
Dim itm As MailItem
Dim CATNAME As String
Set itm = ActiveExplorer.Selection(1
If itm.Categories = "Customer1" Then
itm.Move Session.GetDefaultFolder(olFolderInbox).Folders("01 - My Accounts").Folders("Customer1")
Else
If itm.Categories = "Supplier1" Then
itm.Move Session.GetDefaultFolder(olFolderInbox).Folders("01 - My Suppliers").Folders("Supplier1")
Else
Exit Sub
End If
Exit Sub
End If
End Sub
我希望它更像
Sub Move_Email2()
Dim itm As MailItem
Dim CATNAME As String
Set itm = ActiveExplorer.Selection(1)
CATNAME = itm.Categories
If itm.Categories = CATNAME Then
itm.Move Session.GetDefaultFolder(olFolderInbox).Folders(CATNAME)
End If
End Sub
这可能吗?
尝试 1:
Sub Move_Email2()
Dim itm As MailItem
Dim Name As String
Dim FoundFolder As Folder
Set itm = ActiveExplorer.Selection(1)
Name = itm.Categories
If Len(Trim$(Name)) = 0 Then Exit Sub
Set FoundFolder = FindInFolders(Application.Session.Folders, Name)
If Not FoundFolder Is Nothing Then
itm.Move Session.GetDefaultFolder(olFolderInbox).Folders(FoundFolder.FolderPath)
End If
End Sub
【问题讨论】: