ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] outlook VBA 下载 附件 出错 (邮件 excel 自动 保存)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-11-2 16:47 | 显示全部楼层 |阅读模式

捕获2.JPG

’outlook VBA 保存附件问题,运行到☆☆☆处就会出问题,请求高人解答,谢谢~

Sub SaveAttachments()

    Dim Application As Outlook.Application

    Dim MyNameSpace As NameSpace

    Dim myFolder As MAPIFolder

    Dim iMail As Object

    Dim path0 As String


    path0 = "D:\OutLook附件"

    On Error GoTo lineN1

    If Dir(path0) = "" Then MkDir path0

lineN1:


    Dim count1, count2, T As Long

    count1 = CreateObject("scripting.FileSystemObject").GetFolder(path0).Files.Count


    Set Application = New Outlook.Application

    Set MyNameSpace = Application.GetNamespace("MAPI")

    'Set myFolder = MyNameSpace.PickFolder

    Set myFolder = MyNameSpace.GetDefaultFolder(olFolderInbox)


    Dim myT1, myT2, myT3, myT As String

    For Each iMail In myFolder.Items

        If iMail.Attachments.Count > 0 Then

            For i = 1 To iMail.Attachments.Count

                myT1 = CStr(Format(iMail.SentOn, "yyyymmdd"))

                myT2 = iMail.SenderName  ’用ClickYes软件自动点击确定

                myT3 = iMail.Attachments.Item(i).FileName  ‘☆☆☆运行到此处出现提示框(如图),on error resume next 和 on error goto 语句均跳不过去,偶尔会提示附件已经被打开,但是关闭杀软等所有可能的软件,还是会弹出如上所示提示框,请求高人解答~谢谢

                If myT3 Like "*.doc*" Or myT3 Like "*.xls*" Or _

                    myT3 Like "*.ppt*" Or myT3 Like "*.pdf" Then

                    myT = path0 & "\" & myT1 & "-" & myT2 & "-" & myT3

                    If Dir(myT) = "" Then iMail.Attachments.Item(i).SaveAsFile myT

                End If

            Next i

        End If

    Next iMail


    Set iMail = Nothing
    Set myFolder = Nothing
    Set MyNameSpace = Nothing
    Set Application = Nothing
   
    count2 = CreateObject("scripting.FileSystemObject").GetFolder(path0).Files.Count
    MsgBox "新增" & count2 - count1 & "个附件!", vbInformation

End Sub


TA的精华主题

TA的得分主题

发表于 2013-11-2 21:29 | 显示全部楼层
你的需求是什么

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-11-2 22:49 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
闻启学 发表于 2013-11-2 21:29
你的需求是什么

在outlook中用以上VBA实现自动下载收件箱里面所有邮件的附件,但是运行过程中会出现如贴图所示的错误,网上流行的那段自动保存outlook附件的VBA代码也有同样的问题,我用的是outlook2010,难道是某种奇怪的附件不能保存?或者是outlook的安全性对某些网页上的附件没有自动下载,因此代码页无法获取附件名称?不知道是什么原因,但是在某些其他文件夹下的邮件的附件就可以全部保存~~~~求解答~~多谢大神

TA的精华主题

TA的得分主题

发表于 2013-11-3 07:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
男昕 发表于 2013-11-2 22:49
在outlook中用以上VBA实现自动下载收件箱里面所有邮件的附件,但是运行过程中会出现如贴图所示的错误,网 ...

我做了一个收到邮件后 自动下载 附件 保存到所指向的目录

TA的精华主题

TA的得分主题

发表于 2013-11-3 07:13 | 显示全部楼层
男昕 发表于 2013-11-2 22:49
在outlook中用以上VBA实现自动下载收件箱里面所有邮件的附件,但是运行过程中会出现如贴图所示的错误,网 ...

这个代码是自动保存收件箱里的所有附件到指定位置??

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-11-3 19:59 | 显示全部楼层
闻启学 发表于 2013-11-3 07:13
这个代码是自动保存收件箱里的所有附件到指定位置??

不是自动和手动的问题,需要自动的话稍微修改一下代码就好,现在的关键问题是程序运行过程中报错,如何解决这个错误呢?谢谢亲~

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-11-3 20:03 | 显示全部楼层
闻启学 发表于 2013-11-3 07:07
我做了一个收到邮件后 自动下载 附件 保存到所指向的目录

亲,能不能发给我学习一下,如果测试通过,我把百度提问的那个问题的分全给你,你随便回复几个字我就采纳为最好答案~http://zhidao.baidu.com/question ... 6#answer-1524013427

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-11-3 20:04 | 显示全部楼层
闻启学 发表于 2013-11-3 07:07
我做了一个收到邮件后 自动下载 附件 保存到所指向的目录

能邮箱发给我一份吗?hz915@qq.com,谢谢~

TA的精华主题

TA的得分主题

发表于 2013-11-4 09:29 | 显示全部楼层
男昕 发表于 2013-11-3 20:04
能邮箱发给我一份吗?,谢谢~

自己下载去

Outlook VBA开发第二讲-保存选中邮件的所有附件到一个目录中
http://club.excelhome.net/thread-549551-1-1.html


TA的精华主题

TA的得分主题

 楼主| 发表于 2013-11-4 20:41 | 显示全部楼层
闻启学 发表于 2013-11-4 09:29
自己下载去

Outlook VBA开发第二讲-保存选中邮件的所有附件到一个目录中

还是有点问题,我outlook收件箱中1700多封邮件,我用自己以上那段代码能下载400多个附件,但是中间会出现错误,就是如题如图所示的错误弹窗,我用你的代码只下载到了90多个附件运行就完成了,虽然没提示什么错误,但肯定是由于那句on resume next,不然肯定不止90多个附件的,而我的代码中这句错误处理语句没效果~不止到什么原因,真纠结啊~
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 06:27 , Processed in 0.052614 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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