As the subject states, I have been playing in the system trying to
figure out a method of using a report as the email body text.
So far, the closest I have come is the acFormatHTML. However, when
the report is more than one page, it autoformats the report to
multiple pages. I need one document.
Reason for doing this as text vs. attachment is in order to make the
message easier to view for the reader/receipent.
Any suggestions?
Here is the code:
Sub SendWithAtt(ByRef str_Message As str_EMAIL, Optional
str_ReportName As String, Optional dbl_OrderID As Double)
Dim CurrFile As String, olMailItem As Variant
Dim oApp As Object, m As Object
Dim SQL As String
Dim rst As Recordset, AppInTesting As Boolean
Set oApp = GetObject(, "Outlook.application")
If Err.Number <> 0 Then
Set oApp = CreateObject("Outlook.Application")
End If
On Error GoTo Err_SendWithAtt
If nz(dbl_OrderID, 0) > 0 Then
DoCmd.OpenReport str_ReportName, acViewPreview, "(orderid = "
& dbl_OrderID & ")"
Else
DoCmd.OpenReport str_ReportName, acViewPreview
End If
With oApp
Set m = .CreateItem(olMailItem)
With m
.To = str_Message.str_TO
.bcc = "my.email@address"
.Subject = str_Message.str_SUBJECT
.HTMLBody = ReportToHTML(Reports(str_ReportName))
.deferreddeliverytime = Now()
.deleteaftersubmit = True
.ReadReceiptRequested = False
.display
'.send
End With
End With
DoCmd.Close acReport, str_ReportName, acSaveNo
Set m = Nothing
Set oApp = Nothing
End Sub
Function ReportToHTML(Rpt As Report)
Dim obj_A As Object, obj_B As Object
Dim str_File As String
str_File = "C:\temp\report1.htm"
DoCmd.OutputTo acOutputReport, Rpt.Name, acFormatHTML, TempFile
Set obj_A = CreateObject("Scripting.FileSystemObject")
Set obj_B = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
ReportToHTML = obj_B.ReadAll
obj_B.Close
Set obj_B = Nothing
Set obj_A = Nothing
Kill str_File
End Function 2 5456
What do you actually have in the report?? If it's just basically text, why
don't you put the text in a procedure and run the procedure to generate the
email? Even you require HTML formating, I still think that it's possible to
generate HTML formatted email right within the procedure. This removes any
uncertainty brought by the direct export of report into HTML.
herbert
"Lee" <le*****@yahoo.com> ¦b¶l¥ó
news:fe**************************@posting.google.c om ¤¤¼¶¼g... As the subject states, I have been playing in the system trying to figure out a method of using a report as the email body text.
So far, the closest I have come is the acFormatHTML. However, when the report is more than one page, it autoformats the report to multiple pages. I need one document.
Reason for doing this as text vs. attachment is in order to make the message easier to view for the reader/receipent.
Any suggestions?
Here is the code: Sub SendWithAtt(ByRef str_Message As str_EMAIL, Optional str_ReportName As String, Optional dbl_OrderID As Double) Dim CurrFile As String, olMailItem As Variant Dim oApp As Object, m As Object Dim SQL As String Dim rst As Recordset, AppInTesting As Boolean
Set oApp = GetObject(, "Outlook.application") If Err.Number <> 0 Then Set oApp = CreateObject("Outlook.Application") End If On Error GoTo Err_SendWithAtt If nz(dbl_OrderID, 0) > 0 Then DoCmd.OpenReport str_ReportName, acViewPreview, "(orderid = " & dbl_OrderID & ")" Else DoCmd.OpenReport str_ReportName, acViewPreview End If
With oApp Set m = .CreateItem(olMailItem) With m .To = str_Message.str_TO .bcc = "my.email@address" .Subject = str_Message.str_SUBJECT .HTMLBody = ReportToHTML(Reports(str_ReportName)) .deferreddeliverytime = Now() .deleteaftersubmit = True .ReadReceiptRequested = False .display '.send End With End With DoCmd.Close acReport, str_ReportName, acSaveNo Set m = Nothing Set oApp = Nothing
End Sub
Function ReportToHTML(Rpt As Report)
Dim obj_A As Object, obj_B As Object Dim str_File As String
str_File = "C:\temp\report1.htm"
DoCmd.OutputTo acOutputReport, Rpt.Name, acFormatHTML, TempFile
Set obj_A = CreateObject("Scripting.FileSystemObject") Set obj_B = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
ReportToHTML = obj_B.ReadAll
obj_B.Close
Set obj_B = Nothing Set obj_A = Nothing Kill str_File
End Function
Herbert,
Thanks.
Reason I want/need to use a more graphically appealing email look is
to allow the information to be more easily read.
There is information on the report which contains date of request,
date due, date delivered. Then there are memo fields which outline
what is to be delivered, and a few other ones.
In text mode, you can not force/state the font. Therefore, things
don't line up correctly. It gets difficult to provide an easily
readible format.
Hope this helped to answer your question. If not, please feel free to
ask more.
Lee This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: morphex |
last post by:
Hi,
I have an email that's in the utf-8 encoding, and I'm getting this
error message when I try to send it using smtplib:
* Module smtplib, line 688, in sendmail
* Module smtplib, line 485,...
|
by: MLH |
last post by:
I print to a device that creates a PDF. Knowing the filename, how can
I then embed the PDF into the body text of an OutLook Express outbound
email & send to a specified address in a table? I want...
|
by: Susan Bricker |
last post by:
I would like to generate a report (I have the report working already)
using MS/ACCESS 2000 and then have the ability to send the report as an
email attachment to my colleagues. I have looked...
|
by: Anuradha |
last post by:
Dear All
How can i send mails using vb.net
Thanx all
|
by: S.Dickson |
last post by:
Hi
I hope some one can help, as i am not very good on Access
I have built a database for placing orders for customers, On the Order
Form i would like a button that would send out a email to...
|
by: Mark |
last post by:
Using VB.net 2005, I am trying to send an email with attachments in Outlook.
I have tried using this article from Microsoft,
(http://support.microsoft.com/?kbid=313803), but I can't even get the...
|
by: Paridevi |
last post by:
Hai ,
i want to send email in .Net Using OutLook Express,My Project is Web Application using vb.Net 2003 with SQL Server 2000.I have searched a lot in Google, but ican't get any...
|
by: jambonjamasb |
last post by:
Hi
I have two tables:
email_tbl
Data_table
Data table is is used to create a Form
Data_form
|
by: kpfunf |
last post by:
When I email a report via macro or vba code, the attached report is named "Fuel Quote Report.(ext)". I have no idea how this name is used. I have three seperate macros sending three seperate reports....
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 2 August 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM)
The start time is equivalent to 19:00 (7PM) in Central...
|
by: linyimin |
last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
|
by: Taofi |
last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same
This are my field names
ID, Budgeted, Actual, Status and Differences
...
|
by: DJRhino1175 |
last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this -
If...
|
by: Rina0 |
last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
|
by: lllomh |
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{
|
by: lllomh |
last post by:
How does React native implement an English player?
|
by: Mushico |
last post by:
How to calculate date of retirement from date of birth
|
by: DJRhino |
last post by:
Was curious if anyone else was having this same issue or not....
I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
| |