| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 175 人关注过本帖
标题:关于VBS的CDO组件批量处理.eml文件的一个低级问题
只看楼主 收藏
ywfhack
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-4-8
结帖率:0
  已结贴   问题点数:10  回复次数:4   
关于VBS的CDO组件批量处理.eml文件的一个低级问题
Dim objCDO, objMessage, objAtt, strPath, strAttPath, myReg
on error resume Next
Set myReg=WScript.CreateObject("WScript.Shell")
strPath = myReg.CurrentDirectory & "\"
strAttPath = strPath & "Attachments\"
Set objCDO = CreateObject("CDO.DropDirectory")
    For Each objMessage In objCDO.GetMessages(strPath)
        For Each objAtt In objMessage.Attachments
            dtmNowDate = Now()
            dtmNowDate = Year(dtmNowDate) & right("0"&month(dtmNowDate),2) & right("0"& day(dtmNowDate),2)& right("0"& hour(dtmNowDate),2) & right("0"& minute(dtmNowDate),2) & right("0"& second(dtmNowDate),2)
            objAtt.SaveToFile strAttPath & dtmNowDate & "_" & objAtt.Filename
        Next
    Next
Set objCDO = Nothing
Set objMessage = Nothing
Set objAtt = Nothing
Set myReg= nothing
Msgbox "OK, All of Attachments extract to " & strAttPath
______________________________________________________________
分割线以上是一段VBS,作用是批量提取.eml文件中的附件并单独保存为当前时间+附件名。
以上代码也是来自于互联网公开渠道
请大牛指导,如何在本段代码中获取.eml文件的完整文件名,并把提取出来的附件命名为.eml文件名+附件名的格式。
新人拜谢!
2018-04-08 14:27
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:199
帖 子:4134
专家分:25432
注 册:2008-10-15
  得分:10 

objAtt  这个对象中应该有  eml 的文件名,
在运行时,设个断点,然后在 本地窗口 中找一个属性名。


授人于鱼,不如授人于渔
早已停用QQ了
2018-04-08 15:10
ywfhack
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-4-8
  得分:0 
回复 2楼 风吹过b
谢谢版主,本人小白,不知道怎么在VBS中下断点
2018-04-08 16:40
ywfhack
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-4-8
  得分:0 
      For i = 1 To intCount
        filename = objMessage.Attachments.Item(i).filename
        extension = Mid(filename, InStrRev(filename, "."))
        subject = ValidWBName(objMessage.Subject)
          If filename <> "" Then
            objMessage.Attachments.Item(i).SaveAsFile "C:\tmp\extracts\" & subject & extension
          End If
      Next

网上又找到一段代码,似乎可以把邮件主题读取出来,但是邮件文件名木有资料
2018-04-08 16:46
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:199
帖 子:4134
专家分:25432
注 册:2008-10-15
  得分:0 
你在 VB6 里新建一个工程,
然后 把代码,复制到 VB6 里 一个响应事件中去执行, 那里有立即窗口。

凡是用记事本写 VBS的人都不能算小白了。
记事本写VBS,任何提示,任何语法错误都没有提示。。

授人于鱼,不如授人于渔
早已停用QQ了
2018-04-09 08:41







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051768 second(s), 9 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved