如何收到单个电子邮件正文到.csv文件?

时间:2013-04-12 20:07:35

标签: vba outlook

我是VBA的新手并且如果已经提出这个问题而道歉并且我只是使用正确的搜索条件找到答案的太多菜鸟。我需要的是能够将Outlook 2010中的规则指向VBA脚本,该脚本将触发规则的电子邮件正文导出到.csv文件,该文件将由规则中可能遵循的PowerShell脚本使用或可能由VBA脚本/宏调用。 PowerShell脚本非常简单,但是当我离开办公桌并且无法远程连接到我的计算机时,我需要能够提供信息。电子邮件的正文将标准化,以保持简单,如下所示: Valuename,有价值 价值,价值 这就是电子邮件将包含的全部内容,并将以纯文本形式发送。我查看了一些VBA帮助文件,由于我缺乏VB技能,我没有看到任何可以放在一起的内容。任何指导我正确指导开始这方面的帮助将不胜感激。 谢谢,

2 个答案:

答案 0 :(得分:0)

到目前为止,您可以将宏保存为.txt文件,然后将其导入Excel工作表并将工作表另存为cvs。这有点复杂,但这是我在初学研究中出现的问题。检查此链接,并抓住您认为有用的代码段:save e-mail as .txtimport .txt in excelsave excel as .cvs。并确保使用正确的Outlook和Excel参考。

答案 1 :(得分:0)

Sub SaveEmail(msg As Outlook.MailItem)
    ' save as text
    Dim fn As String
    fn = " *folder to save to* "  & Format(Now, "YYYYMMDD_HHMMSS_") & " *filename* .csv"
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim oFile As Object
    Set oFile = fso.CreateTextFile(fn)
    oFile.WriteLine msg.Body
    oFile.Close

## this allows a python script to run or you could call a power script 
## command from here but the key is that the fn is passed to this object
    Shell ("python *python filename*.py " & fn)

End Sub

然后将其保存到模块中,并根据唯一消息条件或所有消息使用outlook规则调用它。