ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1140|回复: 6

[求助] Outlook VBA如何访问一个子目录(sent item)下的主题和保存附件

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-10-29 11:54 | 显示全部楼层 |阅读模式
如题,我使用了outlook。
现在有个需求:在已发送邮件的子目录(Sent Item)中,需要找到部分主题("subject")是特定字符(如“发货申请”)的邮件,然后判定是否有特定的附件(“.xls”)。有符合条件的附件则保存到特定目录下(“C:\保存文件”)。
请大侠帮忙。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-10-29 13:25 | 显示全部楼层
我自己定一下,免得沉底了。
我会excel的VBA,但是outlook的VBA还是一窍不通。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-10-29 17:26 | 显示全部楼层
敬请大侠帮忙。
先谢谢了。
我有3000多份邮件需要处理。如果不用VBA来自动处理,第一工作量太大,第二容易出错。

TA的精华主题

TA的得分主题

发表于 2020-10-29 20:16 | 显示全部楼层
楼主这个 参考下这个帖子 小闻趣话之一获得邮件的中全部附件
http://club.excelhome.net/thread-1451224-1-1.html
(出处: ExcelHome技术论坛)

修改下判断就行 啊

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-10-30 10:17 | 显示全部楼层
闻启学 发表于 2020-10-29 20:16
楼主这个 参考下这个帖子 小闻趣话之一获得邮件的中全部附件
http://club.excelhome.net/thread-1451224-1 ...

好的。
谢谢。我先试一试。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-11-1 16:30 | 显示全部楼层
我已经可以访问发件箱文件夹了。
但是有出现了另外一个很奇怪的事情。
imail不能把发件箱的所有的邮件遍历,到了445(MailCount =445)后,imail就会变为nothing。每次把下一封邮件移除后,问题都重复出现。
请大侠出手相助。

Sub GetAttachmentName()
'//获得邮件中的附件
    Dim OutApp As Outlook.Application
    Dim myNamespace As NameSpace
    Dim myFolder As MAPIFolder

    Dim Folder As MAPIFolder
    Dim imail As Outlook.MailItem
    Dim attFilename As String
    Dim myAttachment As Outlook.Attachment
    Dim ExcelApp
    Dim myWorkbook As Object
    Dim myWorksheet As Object
   
    Set OutApp = New Outlook.Application
    Set myNamespace = OutApp.GetNamespace("MAPI")
   
    Set myFolder = myNamespace.GetDefaultFolder(olFolderSentMail)    '//获得收件箱文件夹
   
   
    For Each imail In myFolder.Items
        
        imailsubject = imail.Subject
        imailto = imail.To
        imailtime = imail.CreationTime
        imailcc = imail.CC
        MailCount = MailCount + 1



        
        imailsubject = imail.Subject
        imailto = imail.To
        imailtime = imail.CreationTime
        imailcc = imail.CC
    Next imail
Exitimail:
    Set imail = Nothing
    Set myFolder = Nothing
    Set myNamespace = Nothing
    Set Application = Nothing
End Sub

TA的精华主题

TA的得分主题

发表于 2020-11-2 13:05 | 显示全部楼层
这个应该不可以i能 啊  收件箱是不是除了邮件外 还右其他文件
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-22 19:23 , Processed in 0.032108 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表