我想在VBA中運行代碼,它將發送HTML電子郵件,並試圖在電子郵件中嵌入圖像。我有以下的代碼可以這樣做:爲什麼我的圖像不嵌入HTML電子郵件中?
Sub EmailImage()
Dim oApp As Outlook.Application
Dim oEmail As MailItem
Dim colAttach As Outlook.Attachments
Dim oAttach As Outlook.Attachment
Set oApp = CreateObject("Outlook.Application")
Set oEmail = oApp.CreateItem(olMailItem)
Set colAttach = oEmail.Attachments
Set oAttach = colAttach.Add("C:\Users\User1\Documents\thumbs-up.jpg")
oEmail.Close olSave
oEmail.To = "[email protected]"
oEmail.HTMLBody = "<IMG alt='' hspace=0 src='cid:thumbs-up.jpg' align=baseline border=0> </BODY>"
oEmail.Send
Set oEmail = Nothing
Set colAttach = Nothing
Set oAttach = Nothing
Set oApp = Nothing
End Sub
但是,什麼情況是,形象得到附着,但有一個盒子中有一個紅叉,其中形象應該是,因爲下面的圖片中顯示:
我曾嘗試以下adapton到代碼:
Sub EmailImage()
Dim oApp As Outlook.Application
Dim oEmail As MailItem
Dim colAttach As Outlook.Attachments
Dim oAttach As Outlook.Attachment
Set oApp = CreateObject("Outlook.Application")
Set oEmail = oApp.CreateItem(olMailItem)
Set colAttach = oEmail.Attachments
Set oAttach = colAttach.Add("C:\Users\User1\Documents\thumbs-up.jpg")
oAttach.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F", "MyCid")
oEmail.Close olSave
oEmail.To = "[email protected]"
oEmail.HTMLBody = "<IMG alt='' hspace=0 src='cid:MyCid' align=baseline border=0> </BODY>"
oEmail.Send
Set oEmail = Nothing
Set colAttach = Nothing
Set oAttach = Nothing
Set oApp = Nothing
End Sub
但是,這給我的錯誤「編譯錯誤:預期=」上線oAttach.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F", "MyCid")
所以我試圖取出, "MyCid")
,再次改變了代碼的電子郵件只是oEmail.HTMLBody = "<IMG alt='' hspace=0 src='cid:thumbs-up.jpg' align=baseline border=0> </BODY>"
,所以它看起來是這樣的:
Sub EmailImage()
Dim oApp As Outlook.Application
Dim oEmail As MailItem
Dim colAttach As Outlook.Attachments
Dim oAttach As Outlook.Attachment
Set oApp = CreateObject("Outlook.Application")
Set oEmail = oApp.CreateItem(olMailItem)
Set colAttach = oEmail.Attachments
Set oAttach = colAttach.Add("C:\Users\User1\Documents\thumbs-up.jpg")
oAttach.PropertyAccessor.SetProperty ("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
oEmail.Close olSave
oEmail.To = "[email protected]"
oEmail.HTMLBody = "<IMG alt='' hspace=0 src='cid:thumbs-up.jpg' align=baseline border=0> </BODY>"
oEmail.Send
Set oEmail = Nothing
Set colAttach = Nothing
Set oAttach = Nothing
Set oApp = Nothing
End Sub
但我現在與它在的.SetProperty
部分指着得到錯誤Compile error: argument not optional
行oAttach.PropertyAccessor.SetProperty ("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
。
請注意,我使用的是Windows 7,微軟的Excel 2010和Microsoft Outlook 2010中
我認爲你看到的紅色X是因爲它找不到附加/嵌入圖像。你可以檢查一下,看看它在找什麼?也就是說,如果HTML正在嘗試加載它無法訪問的內容,則會看到該框。 – Marc
但是當我點擊附件時,它會打開正確的圖像 –
好的。所以你正確地附加它。但是你沒有正確地嵌入它。正如我所說,檢查紅色X. – Marc