我想在 Outlook 中保存所选项目。使用下面的代码,我可以保存该项目,但它仅保存第一个项目,而不保存所选项目。
我需要更改什么才能保存所选项目?
Dim oOlApp As Object, objNmSpc As Object, ofldr As Object
Dim myCopiedItem As Outlook.MailItem
Dim myNewFolder As String
Set oOlApp = GetObject(, "Outlook.Application")
If Err.Number <> 0 Then
Set oOlApp = CreateObject("Outlook.Application")
End If
Err.Clear
Set objNmSpc = oOlApp.GetNamespace("MAPI")
Set ofldr = objNmSpc.PickFolder
If Not ofldr Is Nothing Then MsgBox ofldr
Dim oItem As Object
For Each oItem In ofldr.Items
If oOlApp.ActiveExplorer.Selection.Item(1) = True Then
oItem.SaveAs Sheet1.Range("V5").Value & oItem.Subject & ".msg", olMSG
match.Offset(, 7).Value = oItem.SenderName & "-" & oItem.Subject & "-" & oItem.ReceivedTime
match.Offset(, 8).Value = VBA.Environ("Username") & "- " & VBA.Now
Exit Sub
End If
Next oItem
如果没有错误,以下行将不会运行
If oOlApp.ActiveExplorer.Selection.Item(1) = True Then
另外你正在打电话Exit sub
,这意味着只能处理一项。
绝对没有理由循环遍历文件夹中的所有项目。将循环更改为以下内容
For Each oItem In oOlApp.ActiveExplorer.Selection
oItem.SaveAs Sheet1.Range("V5").Value & oItem.Subject & ".msg", olMSG
match.Offset(, 7).Value = oItem.SenderName & "-" & oItem.Subject & "-" & oItem.ReceivedTime
match.Offset(, 8).Value = VBA.Environ("Username") & "- " & VBA.Now
Next oItem
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)