2012-10-02 6 views
0

이 VBA 코드를 사용하여 Outlook의 HTML 전자 메일에서 웹 사이트 텍스트 영역을 채 웁니다.HTML 전자 메일에서 웹 사이트 텍스트 영역 채우기

텍스트를 유지하면서 HYPERLINK "website"website 및 HYPERLINK "mailto:[email protected]"[email protected]mailitem.body에서 제거하고 싶습니다.

어떻게해야합니까?

ie.document.getElementById("message").Value = Replace(objItem.Body, vbCrLf & vbCrLf, vbCrLf)

몇 가지 예 :

www.google.com

은 "www.google.com"하이퍼 링크로 텍스트 영역 www.google.com 이메일에 나오는 나올 HYPERLINK이었다 "mailto : [email protected]"[email protected]

+0

정규식? 당신이 추출한 예제 텍스트를 게시 할 수 있다면 도움이 될 것입니다. (물론 짧지 만 전체 하이퍼 링크가 있습니다.) – Johanness

+0

안녕하세요. Johanness, 몇 가지 예제를 추가했지만 웹 사이트와 전자 메일은 일반적인 텍스트가 될 것입니다. , objitem.body는 시체를 깨끗한 텍스트로 제시해야한다. 전혀 그렇지 않다. 그러나 이것은 나의 마지막 장애물이다. –

+0

'mailitem.Body'는 html 본문에서 만들어 질 텍스트 본문이다. 서식 지정 명령을 제거하고 링크를 텍스트로 변환하여보십시오. 'mailitem.HtmlBody'보십시오. –

답변

0

이것을 사용하려면, 채우기 위해 objitem.body 대신 "txt"를 사용하십시오.

If objItem.BodyFormat = olFormatHTML Then 
txt = objItem.Body 
strt = InStr(txt, "HYPERLINK") 
do until strt = 0 
    nd = InStr(strt + 13, txt, """") 
    txt = Left(txt, strt - 1) & Mid(txt, nd + 1) 
    strt = InStr(txt, "HYPERLINK") 
loop 
End If 

If objItem.BodyFormat = olFormatRichText Then 
txt = objItem.Body 
strt = InStr(txt, " HYPERLINK") 
do until strt = 0 
    nd = InStr(strt + 13, txt, """") 
    txt = Left(txt, strt - 1) & Mid(txt, nd + 2) 
    strt = InStr(txt, " HYPERLINK") 
loop 
End If 

후 몸 텍스트 영역을 채 웁니다 ..

만약 objItem.BodyFormat = olFormatHTML 그런 ie.document.getElementById ("메시지"). 값 = 교체 (TXT, vbCrLf & vbCrLf, vbCrLf) 최종면 만약 objItem.BodyFormat = olFormatPlain 그런 ie.document.getElementById ("메시지"). 값은 = objItem.Body 끝 만약의 경우 objItem.BodyFormat = olFormatRichText 그런 ie.document.getElementById ("메시지") .Value = txt E nd 인 경우

관련 문제