2016-07-07 109 views
0

我有一個宏將打開一個選定的電子郵件與模板的答覆。但是,電子郵件機器中的其他圖像現在只是顯示一個紅色十字。Outlook回覆宏不顯示圖像

任何人都可以看到爲什麼這可能會發生?

Sub TacReply() 
Dim origEmail As MailItem 
Dim replyEmail As MailItem 
Set origEmail = Application.ActiveExplorer.Selection(1) 
Set replyEmail = Application.CreateItemFromTemplate("S:\Share\TWGeneral.oft") 
replyEmail.To = origEmail.SenderEmailAddress 
replyEmail.Subject = origEmail.Subject 
replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.Reply.HTMLBody 
replyEmail.SentOnBehalfOfName = "[email protected]" 
replyEmail.Display 
End Sub 

謝謝:)

回答

0

萬一有人有同樣的問題,這裏是我使用的解決方案:

Sub Forward_Mail_Outlook_With_Signature_Html_2() 

    Dim MyItem As Object 
    Dim MyFwdItem As MailItem 

    Dim SigString As String 
    Dim Signature As String 

    Set MyItem = ActiveExplorer.Selection(1).reply 

    If MyItem.Class = olMail Then 

     Set MyFwdItem = MyItem.Forward 

     'Change only Mysig.htm to the name of the signature 

     SigString = Environ("appdata") & _ 
       "\Microsoft\Signatures\Your Signature.htm" 

     If Dir(SigString) <> "" Then 
      Signature = GetBoiler(SigString) 
     Else 
      Signature = "" 
     End If 

     With MyFwdItem 
      .To = MyFwdItem.SenderEmailAddress 
      .subject = MyFwdItem.subject 
      .HTMLBody = "<br>" & Signature & .HTMLBody 
      .SentOnBehalfOfName = "[email protected]" 
      .Display 


     End With 
    Else 

     MsgBox "Select a mailitem." 

    End If 

ExitRoutine: 
    Set MyItem = Nothing 
    Set MyFwdItem = Nothing 

End Sub 

Private Function GetBoiler(ByVal sFile As String) As String 

    Dim fso As Object 
    Dim ts As Object 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2) 
    GetBoiler = ts.readall 
    ts.Close 

End Function