How to import HTML Outlook mails into MS Access using VBA
I have been searching the internet for hours to find a solution to my question.
I know how to import mails for a long time, but can't keep the format of the HTML-body like I could do when copy the body from OL by hand into the Rich-text memo field on an access form.
The field (olbody) is bound to a SQL server table field olbody (nvarchar(max)) and could store html mail body text when I insert the content of the clipboard.
I even tried to read the .HTMLbody property in the clipboard
clp.SetText .HTMLBody clp.PutInClipboard
and then I pasted manually the content of the clipboard with Ctrl+V in the field, but again, it does no show up like the HTML mail. But I can see all HTML commands, which should format the mail.
Without formating the mail in the access field, the content is almost unreadable because no tab, lineskip etc. is in the body.
Any help welcome. Thanks作者: mak 的来源 发布者: 2017 年 12 月 27 日
The proper way to display HTML is using a web browser. This means: use the web browser control!
You can load the HTML in the webbrowser control on load, and when your mail field changes.
Private Sub Form_Current() Dim wb As Object Set wb = MyWebbrowserControl.Object With wb .Navigate2 "about:blank" Do Until .ReadyState = 4 '=READYSTATE_COMPLETE 'This is a somewhat inefficient way to wait, but loading a blank page should only take a couple of milliseconds DoEvents Loop .Document.Open .Document.Write MemoField.Value .Document.Close End With End Sub
Replace Memofield with your mail field, and MyWebbroserControl with your webbrowser control, and you should be ready to go.
Note that you probably should use the Access web browser, and not the ActiveX web browser. This code will work with both, but the Access web browser control uses a more modern version of IE, and doesn't come with a non-removable border.作者: Erik A 发布者: 27.12.2017 06:14