我对 VBA 完全陌生,如果已经问过这个问题并且我太菜鸟了,无法使用正确的搜索词找到答案,我深表歉意。我需要的是能够将 Outlook 2010 中的一条规则指向一个 VBA 脚本,该脚本将触发该规则的电子邮件正文导出到一个 .csv 文件,该文件将由遵循规则或可能遵循的 PowerShell 脚本使用由 VBA 脚本/宏调用。PowerShell 脚本非常简单,但我需要能够在我离开办公桌且无法远程连接到我的计算机时向它提供信息。电子邮件的正文将被标准化以保持简单,如下所示: Valuename, valuename Value, Value 这是电子邮件将包含的所有内容,并将作为纯文本发送。我浏览了一些 VBA 帮助文件,但由于缺乏 VB 技能,我没有看到任何可以组合在一起的内容。任何为我指明正确方向以开始这方面的帮助将不胜感激。谢谢,
问问题
2814 次
2 回答
1
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 规则调用它。
于 2017-02-09T10:29:36.977 回答
0
到目前为止,您可以将宏保存为 .txt 文件,然后将其导入 excel 工作表并将工作表另存为 cvs。这有点复杂,但这就是我最初研究时想到的。检查此链接,并获取您可能会发现有用的片段:将电子邮件另存为 .txt,将 .txt 导入 excel,将 excel 保存为 .cvs。并确保您使用正确的 Outlook 和 Excel 引用。
于 2013-04-12T20:31:43.587 回答