2017-07-25 62 views
0

我正在使用Outlook脚本来转发具有特定模板的电子邮件。我无法在<img scr=开始时添加徽标。使用HTML添加图像

Public Sub FW(olItem As Outlook.MailItem) 

Dim olForward As Outlook.MailItem 
Set olForward = olItem.Forward 
Set olLogo = Outlook.Application 

If InStr(olItem.Subject, "AW:") Or InStr(olItem.Subject, "WG:") Or _ 
    InStr(olItem.Subject, "Re:") Or InStr(olItem.Subject, "FW:") Or _ 
    InStr(olItem.Subject, "Fwd:") Then 

    Stop 

ElseIf InStr(olItem.Subject, "CH1") Or InStr(olItem.Subject, "CH3") Then 

    Const Path = "T:\TEMP\" 
    Const Logo = "image001.jpg" 

    With olForward & olLogo 
     .Attachments.Add Path & Logo 
     .Subject = olItem.Subject 
     .BodyFormat = olFormatHTML 
     .HTMLBody = "<span style=color:#1F497D;font-size:11pt;font-family:calibri;>" & _ 
        "TEXT TUTAJ<BR><BR>" & _ 
        "TEXT TUTAJ<BR><BR>" & _ 
        "TEXT TUTAJ<BR>" & _ 
        "TEXT TUTAJ<BR><BR>" & _ 
        "<span style=color:#1F497D;font-size:9pt;font-family:arial;><b>" & _ 
        "TEXT TUTAJ</b><BR>" & _ 
        "TEXT TUTAJ<BR>" & _ 
        "<html><img scr=cid:" & Replace(Logo, " ", "%20") & "height=55 width=170></html><BR>" & _ 
        "TEXT TUTAJ" 
     .Display 
     .To = "" 
     .CC = "" 
     .Send 
    End With 

End If 


'// Clean up 
Set olItem = Nothing 
Set olForward = Nothing 
Set olLogo = Nothing 
End Sub 
+0

例如您周围是否缺少CID引号 –

+0

怎么会这样?试图添加它,只出现错误。 –

回答

0

想通了,应该看起来像这样。

Public Sub FW(olItem As Outlook.MailItem) 

Dim olForward As Outlook.MailItem 
Set olForward = olItem.Forward 

If InStr(olItem.Subject, "AW:") Or InStr(olItem.Subject, "WG:") Or InStr(olItem.Subject, "Re:") Or _ 
InStr(olItem.Subject, "FW:") Or InStr(olItem.Subject, "Fwd:") Then 

    Stop 

ElseIf InStr(olItem.Subject, "CH1") Or InStr(olItem.Subject, "CH3") Then 

    With olForward 
     .Attachments.Add "C:\TEMP\logo.jpg", olByValue, 0 
     .Subject = olItem.Subject 
     .BodyFormat = olFormatHTML 
     .HTMLBody = "<span style=color:#1F497D;font-size:11pt;font-family:calibri;>" & _ 
        "TEXT TUTAJ<BR><BR>" & _ 
        "TEXT TUTAJ<BR><BR>" & _ 
        "TEXT TUTAJ<BR>" & _ 
        "TEXT TUTAJ</span><BR><BR>" & _ 
        "<span style=color:#000000;font-size:9pt;font-family:arial;>" & _ 
        "<b>TEXT TUTAJ</b><BR>" & _ 
        "TEXT TUTAJ<BR>" & _ 
        "<img src='cid:logo.jpg'" & "width='170' height='55'><BR>" & _ 
        "TEXT TUTAJ</span>" 
     .To = "" 
     .CC = "" 
     .Display 
     .Send 
    End With 

End If 


'// Clean up 
Set olItem = Nothing 
Set olForward = Nothing 

末次

+0

这只是单引号,但如果你想双击[我的答案](https://stackoverflow.com/a/45348575/3649914) –

0

看起来你缺少报价,把它们放在最简单的方法是加倍的报价处理报价。

下面

.HTMLBody = "<span style=color:#1F497D;font-size:11pt;font-family:calibri;>" & _ 
        "TEXT TUTAJ<BR><BR>" & _ 
        "TEXT TUTAJ<BR><BR>" & _ 
        "TEXT TUTAJ<BR>" & _ 
        "TEXT TUTAJ</span><BR><BR>" & _ 
        "<span style=color:#000000;font-size:9pt;font-family:arial;>" & _ 
        "<b>TEXT TUTAJ</b><BR>" & _ 
        "TEXT TUTAJ<BR>" & _ 
        "<img src=""cid:logo.jpg""" & "width=""170"" height=""55""><BR>" & _ 
        "TEXT TUTAJ</span>"