我试图将Outlook邮件保存为.txt格式的系统文件夹。运行宏后,我无法看到系统文件夹中的任何文件。将outlook邮件保存到系统文件夹中的单个.txt文件中
我没有在I:\ Documents文件夹中得到任何结果。
Sub SaveSelectedMailAsTxtFile()
Const OLTXT = 0
Dim currentExplorer As Explorer
Dim Selection As Selection
Dim oMail As Outlook.MailItem
Dim obj As Object
Dim sPath As String
Dim dtDate As Date
Dim sName As String
Set currentExplorer = Application.ActiveExplorer
Set Selection = currentExplorer.Selection
For Each obj In Selection
Set oMail = obj
sName = oMail.Subject
ReplaceCharsForFileName sName, "_"
dtDate = oMail.ReceivedTime
sName = Format(dtDate, "yyyymmdd", vbUseSystemDayOfWeek, _
vbUseSystem) & Format(dtDate, "-hhnnss", _
vbUseSystemDayOfWeek, vbUseSystem) & "-" & sName & ".txt"
oMail.SaveAs "I:\Documents" & sName & ".txt", OLTXT
Next
End Sub
Private Sub ReplaceCharsForFileName(sName As String, sChr As String)
sName = Replace(sName, "/", sChr)
sName = Replace(sName, "\", sChr)
sName = Replace(sName, ":", sChr)
sName = Replace(sName, "?", sChr)
sName = Replace(sName, Chr(34), sChr)
sName = Replace(sName, "<", sChr)
sName = Replace(sName, ">", sChr)
sName = Replace(sName, "|", sChr)
End Sub
“我没有得到任何结果”不是问题描述。你在其他地方获得“成果”吗?你是否收到错误信息或异常?如果你在'oMail.SaveAs'行设置了一个断点,然后在运行之前检查'sName'的值,会发生什么?你在那个时候在'sName'中看到了什么?它是你期望的名字和位置吗? –
是的,我可以看到我期望的名称和位置,但它没有在我的目的地保存任何数据。 – user3668427