Solved

Using MAPI to send report

Posted on 2004-10-25
266 Views
Last Modified: 2012-05-05
I have an application that pulls up a report using CRViewer. On the form that contains the CRViewer I also have a button.
Here's the code for the button:

MAPIMessages1.Compose
MAPIMessages1.RecipDisplayName = "Blow,Joe"
MAPIMessages1.MsgSubject = "Subject of Email"
MAPIMessages1.MsgNoteText = "Message Text"
MAPIMessages1.ResolveName
MAPIMessages1.Send

The code above works fine. However, I want the "Message Text" to be something else. I want to email the contents of the report as the MAPIMessages1.MsgNoteText. How do I do this? Or, is there another way to email this report with Outlook? Thanks.
0
Question by:mwmiller78
    9 Comments
     
    LVL 76

    Expert Comment

    by:David Lee
    I'm guessing that CRViewer is a portion of Crystal Reports.  If Crystal Reports can output/save the report in plain text, HTML, or RTF format, then you can set the body of the message to be the contents of the report.  Otherwise, the best you're going to be able to do is to attach the report as a file.
    0
     

    Author Comment

    by:mwmiller78
    Yes CRViewer is a VB component used to show a report during runtime. And it does have the ability to output the report in all 3 methods.
    0
     
    LVL 100

    Expert Comment

    by:mlmcc
    How about using the export button on the viewer to export to MAPI?

    mlmcc
    0
     

    Author Comment

    by:mwmiller78
    That's what I was thinking. Or using export to save the report as temp text file and sending that. Either way, I can't figure out how to change the code for the export button.
    0
     
    LVL 4

    Expert Comment

    by:AjithJose
    What about sending the report as an attachment?

    You can do this simply by exporting the data from the CRViewer to a file and then attach the file to the mail and send via MAPI



     
    0
     

    Author Comment

    by:mwmiller78
    That would be fine. I want to be able to do this by clicking one command button though. I do not want the user to have to export, then attach. I don't know how to do it any other way.
    0
     
    LVL 76

    Expert Comment

    by:David Lee
    If you know how to export, then I can give you the code to attach.  Or, if you know how to export as HTML, I'll give you the code to make the exported report the message body.
    0
     
    LVL 4

    Accepted Solution

    by:
    This code will export report into PDF format, you can use many other formats too. Just specify the FortmatType property

    Report.ExportOptions.DestinationType = crEDTDiskFile
    Report.ExportOptions.FormatType = crEFTPortableDocFormat
    Report.ExportOptions.PDFExportAllPages = True

    Report.ExportOptions.DiskFileName = **YouFilePath**
       
    'Export to PDF Format, setting False prevents the Export dialog window from showing

    Report.Export False

    0
     
    LVL 100

    Expert Comment

    by:mlmcc
    Using the export button will require the users to select Mapi and several other options.

    Here is the code to mail a report
    Option Explicit
        Private crApp As CRAXDRT.Application
        Private crRpt As CRAXDRT.Report

    '
    '   Open report
    '
        Set crApp = New CRAXDRT.Application

        Set crRpt = crApp.OpenReport("C:\MyReports\MyRport.rpt", 1)
       
        crRpt.MorePrintEngineErrorMessages = False
        crRpt.EnableParameterPrompting = False
        crRpt.DisplayProgressDialog = False
        crRpt.DiscardSavedData
    '
    '   Set export options
    '
            crRpt.ExportOptions.DestinationType = crEDTEMailMAPI
            crRpt.ExportOptions.MailToList = txtMailAddress
            crRpt.ExportOptions.MailSubject = txtMailSubject
            crRpt.ExportOptions.MailMessage = txtMailMessage
            crRpt.ExportOptions.FormatType = crEFTWordForWindows

            crRpt.Export False


    mlmcc
    0

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Shellfire Box VPN + Lifetime Subscription

    The Shellfire Box easily connects all of your devices, even those that don't offer the possibility to establish a safe vpn connection. Access blocked content and surf safely, no matter where in the world you are located.

    Suggested Solutions

    Title # Comments Views Activity
    Detect other appearance 6 45
    Problem to select 11 57
    VBA Modification 5 31
    Windows 10 start screen issues 9 21
    Article by: Martin
    Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
    Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
    Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
    Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

    933 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    24 Experts available now in Live!

    Get 1:1 Help Now