[VBA] Mail jest HTMLowy czy TXT

Pytania, problemy, uwagi związane ze starszymi wersjami Microsoft Outlook 2003, 2002 (XP), 2000, 98

Moderator: Moderatorzy

[VBA] Mail jest HTMLowy czy TXT

Postprzez OShon » Pn 14.05.2007 20:11

Witaj michu
mam pytanko z natury upierdliwych.

Chciałbym dodać coś do wiadomości, (jakiś text) ale mam problem bo nie chciałbym naruszyć jej struktury.

Poniższy kod nie działa jak bym chciał
Kod: Zaznacz cały
Dim oMail As MailItem
If oMail.HTMLBody = True Then
oMail.HTMLBody = komunikat_w_mailu & vbCr & oMail.HTMLBody
else
oMail.Body = komunikat_w_mailu & vbCr & oMail.Body
end if

i tak przerabia mi TXTka na HTML'a
a jak bedzie tylko
Kod: Zaznacz cały
oMail.Body = komunikat_w_mailu & vbCr & oMail.Body

to utracę format HTMLowy

Jest jakieś polecenie sprawdzające?


____________________________
mam

Kod: Zaznacz cały
If oMail.BodyFormat = olFormatPlain Then
oMail.Body = komunikat_w_mailu & vbCr & oMail.Body
Else
oMail.HTMLBody = komunikat_w_mailu & vbCr & oMail.HTMLBody
End If

____________________________

ale urodził się nowy problem
jak zrobić Enter w wiadomości HTML ??
bo w TXTeku działa bez problemów

wstawienie znaków: vbcr, vbCrLf, chr(10) , Chr(10) & Chr(13) NIE działa :(
Obrazek
Oskar Shon - MVP Office Dev. 11/20, 3x MCC, 4/9/22 TechNet
Forum moderator: Outlook.pl | ExcelForum.pl | MSDN dział VBA
Zobacz fajne dodatki: Outlooka, Excela, Worda lub PowerPointa
OShon
 
Posty: 10434
Dołączył(a): Cz 19.10.2006 08:31
Lokalizacja: Projekt autorski VBATools.pl

Postprzez michu » Wt 15.05.2007 08:57

W treści wiadomości HTML powinieneś wpisywać kod HTML, czyli przejście do nowej linii uzyskasz poprzez wstawienie znacznika <br>.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez Shon Oskar » Wt 15.05.2007 09:01

Jednak w Outllooku 2k nie ma
Kod: Zaznacz cały
oMail.BodyFormat = olFormatPlain

jest może jakiś inny sposób na sprawdzenie czy mail jest HTMLowy ?

sprawa entera to już przeszłość </BR>
(nie jestem Webowcem stąd te może sie wydawać trywialne pytanie)
O'Shon
Shon Oskar
 
Posty: 182
Dołączył(a): Pn 16.10.2006 09:05
Lokalizacja: Veracomp S.A.

Postprzez michu » Wt 15.05.2007 09:12

Zrób to podobnie, jak w kodzie z pierwszego posta. Tylko nie sprawdzaj, czy HTMLBody jest True, ale czy jest puste:

Kod: Zaznacz cały
Dim oMail As MailItem
If oMail.HTMLBody <> "" Then
    oMail.HTMLBody = komunikat_w_mailu & vbCr & oMail.HTMLBody
else
    oMail.Body = komunikat_w_mailu & vbCr & oMail.Body
end if


Powinieneś też używać vbCrLf zamiast vbCr.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez Shon Oskar » Wt 15.05.2007 09:21

dzięki :)
jeszcze jedno (w2k)

Jak dodaje coś do wiadomości TEXTowej to zamienia mi TXT na RTF
jest jakiaś recepta ?
O'Shon
Shon Oskar
 
Posty: 182
Dołączył(a): Pn 16.10.2006 09:05
Lokalizacja: Veracomp S.A.

Postprzez michu » Wt 15.05.2007 09:42

Może masz domyślny format wiadomości ustawiony w opcjach na RTF?
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez Shon Oskar » Wt 15.05.2007 09:48

niestety - domyślny mam HTML

a może jakoś przestawić na czas tej operacji z poziomu VBA domyślny jako TXT a potem zwrócić wartość domyślną... (tylko jak)
O'Shon
Shon Oskar
 
Posty: 182
Dołączył(a): Pn 16.10.2006 09:05
Lokalizacja: Veracomp S.A.

Postprzez michu » Wt 15.05.2007 10:16

Nie wydaje mi się, żeby była taka możliwość.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra


Powrót do Microsoft Outlook

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 4 gości