Outlook not displaying attachment from Access via code

V

vavroom

Hello all,

I hope you can assist.

I found a snipet of code on microsoft.public.access to send email from
Access, using
Redemption to get around the Outlook security warnings. All works
well, except for attaching a file. Or rather, I *thought* the file
wasn't getting attached.

Further testing indicates that the file does indeed get attached, but
when I preview the email to be sent, the attachment does not get
displayed. I am using Outlook 2002, and send all my mails in text
format.

Can anyone point me in the right direction to display the attachment?
I know I can tell by the size of the email if there is an attachment,
but my users need to be able to tell which file is being attached.

Thanks

++++

I select the file to attach via a dialogue box, which loads the full
path of the file to attach in txtPath.

Here's my variation on the code, could anyone explain why it won't
attach the files? And what I need to do to fix it?

Private Sub cmdAEGScience_Click()

Dim safemail As Variant
Dim myOlApp
Dim MyItem
Dim myRecipient
Dim myBody
Dim myfolder
Dim mynamespace
Dim myAttachments
Dim Utils
Dim strSendTo As String
Dim strCC As String
Dim strAttachPath As String
Dim strAttachPath2 As String
Dim AEGs As String

AEGs = "bla bla bla"

strSendTo = Me.cmbPaperCoord
strCC = Me.txtAddy & "@domain.com"
strAttachPath = Me.txtPath
'strAttachPath2 = "FullPathToFile"

Set myOlApp = CreateObject("Outlook.Application")
Set MyItem = myOlApp.CreateItem(0)
Set safemail = CreateObject("Redemption.SafeMailItem")
Set safemail.Item = MyItem
Set mynamespace = myOlApp.GetNamespace("MAPI")
'mynamespace.Logon "myProfile", "myPassword", True, True ' Choose a
Profile
Set myfolder = mynamespace.GetDefaultFolder(5)
With safemail
.Recipients.Add (strSendTo) ' Send To
.CC = strCC ' Carbon Copy
.Attachments.Add (strAttachPath) ' Attachment 1
'.Attachments.Add (strAttachPath2) ' Attachment 2
.Subject = "AEG - " & Me.txtStuLName & " - " & Me.txtStuID ' Email
Subject Text here
.Body = AEGs ' Text for Email Body
'.Importance = olImportanceHigh ' High importance
'.ReadReceiptRequested = True
.OriginatorDeliveryReportRequested = True
.Display
'.Send
End With

Set Utils = CreateObject("Redemption.MAPIUtils")
Utils.DeliverNow

Set myOlApp = Nothing
Set safemail = Nothing
Set Utils = Nothing
'MsgBox "Mail Sent", vbInformation, "Mail Sent..."

End Sub
 
S

Sue Mosher [MVP-Outlook]

If you're going to display it and not send it, you may need to save the item first. Furthermore, unless you're planning to invoke Send, I don't see any reason to complicate your code by using Redemption.

FYI, there is a newsgroup specifically for general Outlook programming issues "down the hall" at microsoft.public.outlook.program_vba or, via web interface, at http://www.microsoft.com/office/community/en-us/default.mspx?dg=microsoft.public.outlook.program_vba

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
V

vavroom

Hello Sue,

Note that I commented out the Send, and use Display instead. Reason
being, users need to be able to see the email before it's sent. I
haven't outright deleted that line, but likely will later on.

Silly n00b question: How do I save the item first?

The reason to use Redemption is that my testing shows that whether I
use Send or Display, I get warnings that a third party is trying to
send email via outlook and a dialogue box asking me to allow it from 1
to 10 minutes. Users may need to send up to 100 emails daily with
this, and just can't afford to have them click yes, twice, for each
email they send.

I'll stroll on over to the group you are mentionning, thanks Sue.
 
S

Sue Mosher [MVP-Outlook]

How do I save the item first?

.Save
The reason to use Redemption is that my testing shows that whether I
use Send or Display, I get warnings

Not with Display, only with Send. Replace this statement:

.Recipients.Add (strSendTo) ' Send To

with

.To = strSendTo

and you won't get the address book prompt.

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
V

vavroom

Sue, I am eternally indepted to you :) Thank you *so* much. it works
now and I can ditch redemption! Huzzah!

Thanks a billion.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top