2017-11-14 2 views
0

나는 알림 및 캘린더 약속을 사용하여 자동 이메일을 보내기위한 지침서를 따라 왔습니다.
"기본"은 https://www.extendoffice.com/documents/outlook/1567-outlook-send-schedule-recurring-email.html
입니다.이 문제는 서명에있는 이미지가 html 태그가됩니다.
Ron de Bruin의 코드는 다음과 같습니다. https://www.rondebruin.nl/win/s1/outlook/signature.htm은 html로 서명을 추가 할 수 있으며 거의 ​​효과가있었습니다.서명 이미지가있는 이메일 보내기 outlook 2016 VBA

텍스트, 글꼴, 색상 및 링크가 올바르지 만 이미지는 빨간색 x가 표시된 빈 상자입니다.
나는 메시지의 소스를 보았고, 서명 된 코드는 상대적인 img 소스를 하드 코딩했다.
그래서 "대체"코드를 메시지의 소스를 절대 경로로 편집하려고 추가했습니다.
그리고 효과가있었습니다. 하지만 내 컴퓨터에서만. 이미지가 추가되지 않았습니다. 이미지가 방금 연결되었습니다.

해결 방법이있는 사람 누구나 을 추가하여 이미지가 올바르게 보이게 할 수 있습니까?

Private Sub Application_Reminder(ByVal item As Object) 
    Dim MItem As MailItem 
    Set MItem = Application.CreateItem(olMailItem) 

    If item.MessageClass <> "IPM.Appointment" Then 
     Exit Sub 
    End If 
    If item.Categories <> "Beställa material mail" Then ' make sure it's correct category 
     Exit Sub 
    End If 

    If Now > item.End + 6/24 Then ' if the appointment time was when computer was off (or long delay) don't email. 
     MsgBox item.Subject & " är inte skickat för att det är för sent." ' "subject" is not send because it's too late. 
     Exit Sub 
    End If 

    'Below is from https://www.rondebruin.nl/win/s1/outlook/signature.htm 
    SigString = Environ("appdata") & "\Microsoft\Signatures\Axfood.htm" 

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

    'replace incorrect img sources. 
    Signature = Replace(Signature, "src=" & Chr(34) & "Axfood-filer/image", "src=" & Chr(34) & Environ("appdata") & "/Microsoft/Signatures/Axfood-filer/image") 

    ' send email 
    MItem.To = item.Location 
    MItem.Subject = item.Subject 
    MItem.HTMLBody = item.Body & Signature 
    MItem.Send 
    Set MItem = Nothing 
End Sub 


Function GetBoiler(ByVal sFile As String) As String 
'Dick Kusleika 
    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 

EDIT; 아웃룩 서명 파일

예 IMG 소스 :
<img border=0 width=21 height=21 src="Axfood-filer/image010.jpg" v:shapes="_x0000_i1030">

이 하드 드라이브상의 절대 경로 코드의 교체 기능을 편집한다. 나는 아웃룩 2016에서 작동 대답을 발견하고, 안드로이드/아이폰에 "OK"결과를 제공 한 C:\Users\<USER>\AppData\Roaming\Microsoft\Signatures

+0

실제 HTML을 표시하십시오. 그것은 반드시 ''이어야합니다. 적절한 HTML MIME 헤더도 필요합니다. – mplungjan

+0

그게 전부입니다. 그것은 "http"가 아니며 Outlook은 이미지를 로컬에 저장하고 HTML에는 로컬 주소가 있습니다. 이것은 HTML의 이미지 중 하나입니다 : '' – Andreas

+0

그리고''을 텍스트에 추가하면? – mplungjan

답변

0

:

서명 파일에 foung 할 수 있습니다.

이미지를 vba를 통해 첨부하고 html 코드로 인라인합니다.

Dim oAttach As Outlook.Attachment 
Dim colAttach As Outlook.Attachments 

Set colAttach = MItem.Attachments 

' attach the images to the email 
Set oAttach = colAttach.Add(Environ("appdata") & "/Microsoft/Signatures/Axfood-filer/image001.png") 
Set oAttach = colAttach.Add(Environ("appdata") & "/Microsoft/Signatures/Axfood-filer/image003.jpg") 
Set oAttach = colAttach.Add(Environ("appdata") & "/Microsoft/Signatures/Axfood-filer/image005.jpg") 
Set oAttach = colAttach.Add(Environ("appdata") & "/Microsoft/Signatures/Axfood-filer/image007.jpg") 
Set oAttach = colAttach.Add(Environ("appdata") & "/Microsoft/Signatures/Axfood-filer/image009.jpg") 

'add the images to signature string with html formatting. 
Signature = Signature & "<a href='http://www.axfood.se'><IMG alt='' hspace=0 src='cid:image001.png' align=baseline width=151 border=0></a><br><br>" 
Signature = Signature & "<a href='https://www.facebook.com/axfoodkoncernen/'><IMG alt='' hspace=0 src='cid:image003.jpg' align=baseline border=0></a> " 
Signature = Signature & "<a href='https://twitter.com/axfood'><IMG alt='' hspace=0 src='cid:image005.jpg' align=baseline border=0></a> " 
Signature = Signature & "<a href='https://www.linkedin.com/company/axfood'><IMG alt='' hspace=0 src='cid:image007.jpg' align=baseline border=0></a> " 
Signature = Signature & "<a href='https://www.instagram.com/axfoodkoncernen/'><IMG alt='' hspace=0 src='cid:image009.jpg' align=baseline border=0></a> " 

결과가 Outlook 용 이메일입니다.
Android에서는 이미지가 첨부되지만 이메일에는 인라인되지 않습니다.
iPhone에서 이미지는 이메일에 인라인되지만 링크는 이미지를 스패닝하지 않습니다.

아이폰 예 :
링크 링크 링크 링크
화상 이미지 화상 이미지 대신에 실제 링크 beeing는 화상

.

관련 문제