3
我們有一個Access數據庫,它使用SendObject
方法將報告作爲附件導出到電子郵件。在當前電子郵件正文中打開.rtf附件並粘貼內容
我需要做的是打開附件,複製文本(格式化)並粘貼到生成的電子郵件正文中並刪除文件。
我已經有了剝離附件並打開它的代碼,但我不確定如何複製Word文檔中的所有內容並將其粘貼回原始電子郵件。
任何幫助將不勝感激!如果有更簡單的方法,請告訴我。
Sub olAttachmentStrip()
Dim strFilename As String
Dim strPath As String
Dim olItem As Outlook.MailItem
Dim olAtmt As Outlook.Attachments
Dim olInspector As Outlook.Inspector
Dim appWord As Word.Application
Dim docWord As Word.Document
strPath = "C:\temp\"
Set olInspector = Application.ActiveInspector
If Not TypeName(olInspector) = "Nothing" Then
If TypeName(olInspector.CurrentItem) = "MailItem" Then
Set olItem = olInspector.CurrentItem
Set olAtmt = olItem.Attachments
olAtmt.Item(1).SaveAsFile strPath & olAtmt.Item(1).DisplayName
strFilename = strPath & olAtmt.Item(1).DisplayName
'olAtmt.Item(1).Delete
Else
MsgBox "Something went horribly wrong."
End If
End If
Set appWord = CreateObject("Word.Application")
appWord.Visible = False
Set docWord = appWord.Documents.Open(strFilename)
Stop '<== This is where I'm stuck!
Set docWord = Nothing
Set appWord = Nothing
End Sub
這工作完美,但我還有一個問題。我已經有了剝離附件的代碼,打開它,複製選擇並粘貼回原來的電子郵件,但是當電子郵件被創建時(DoCmd.SendObject acReport),生成的電子郵件被生成爲純文本,並且我輸了每當我創建支持HTML格式的電子郵件時,我都會使用這種格式。我很難過。任何協助或方向,將不勝感激。如果有更簡單的方法來實現這一點,任何方向將不勝感激。先謝謝你。 – CSharp821
我不太熟悉MS Access。 'DoCmd.SendObject acReport'你使用的是什麼確切的語法? –
我沒有在我面前。該代碼會生成包含格式的.rtf文檔。每當我在新電子郵件上使用您的代碼時,格式都是完美的。每當我將範圍粘貼回Outlook中生成的純文本電子郵件時,.rtf選擇都會丟失格式。這是有道理的,我可以將活動電子郵件的格式更改回Html,但我不確定這是否是最好的方式。我會在早上發佈語法。謝謝 – CSharp821