我有一个脚本来打开附件并将它们附加到邮件正文中。我让它适用于文本文档,但我也需要它适用于 .msg 附件。
目前它只是不读取对象。任何人都可以帮忙吗?
Sub RunAScriptRuleRoutine(MyMail As MailItem)
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim olMail As Outlook.MailItem
Dim olMailAT As Outlook.MailItem
strID = MyMail.EntryID
Set olNS = Application.GetNamespace("MAPI")
Set olMail = olNS.GetItemFromID(strID)
If olMail.Subject = "lala" Then
If olMail.Attachments.Count > 0 Then
Dim strLine As String
Dim mailLine As String
Dim strLines As String
For i = 1 To olMail.Attachments.Count
strFileName = "C:\emailTemp\" + olMail.Attachments.Item(i).FileName
If InStr(strFileName, "msg") Then
olMail.Attachments.Item(i).SaveAsFile strFileName
strLines = strLines + "//Start of " + strFileName + " //" + vbCrLf
Open strFileName For Input As #1
Do While Not EOF(1)
Line Input #1, strLine
mailLine = mailLine + strLine
Loop
Close #1
olMailAT = mailLine
strLine = objMailAT.Body
strLines = strLines + "heres the .msg" + vbCrLf
strLines = strLines + "//End of " + strFileName + " //" + vbCrLf
Else
olMail.Attachments.Item(i).SaveAsFile strFileName
strLines = strLines + "//Start of " + strFileName + " //" + vbCrLf
Open strFileName For Input As #1
Do While Not EOF(1)
Line Input #1, strLine
strLines = strLines + vbCrLf + strLine
Loop
Close #1
strLines = strLines + "//End of " + strFileName + " //" + vbCrLf
End If
Next
'save to email body and save email
olMail.Body = strLines
olMail.Save
End If
End If
Set olMail = Nothing
Set olNS = Nothing
End Sub