Christopher Hawkins
clh at christopherhawkins.com
Thu Jun 30 11:46:15 CDT 2005
OK, cool, let me tweak my code a little and see what I can brew up. ;)
Someone was telling me I should be using ClickYes instead, but I haven't even looksed at it. Anyone have any insight into that one?
-C-
----------------------------------------
From: "Bruce H. Johnson" <bhjohnson at verizon.net>
Sent: Thursday, June 30, 2005 9:06 AM
To: "'Access Developers discussion and problem solving'" <accessd at databaseadvisors.com>
Subject: SPAM-LOW: RE: [AccessD] Using Outlook Redemption in Access
Here's the code I use in VB. Note the Application is an Outlook Application:
Public Function EMail_SendMail() As Boolean
'Use late binding to avoid version refs?
'Requires only Recipient and Subject
Dim outApp As Object
Dim outNameSpace As Object
Dim redSafeItem As Object
Dim outItem As Object
Dim strItem As String
Dim lngNdx As Long
Dim outRec As Object
If SAFEOUTLOOK_RUNTIME Then On Error GoTo EMail_SendMail_Err
EMail_SendMail = False 'default
If strEMail_Recipient(0) = vbNullString Or strEMail_Subject = vbNullString
Then
'Convert to messages when ready
MsgBox "One recipient and subject required.", vbOKOnly Or vbExclamation,
"EMail_SendMail"
EMail_SendMail = False
GoTo EMail_SendMail_Exit
End If
Set outApp = CreateObject("Outlook.Application")
Set outNameSpace = outApp.GetNamespace("MAPI")
outNameSpace.Logon
Set redSafeItem = CreateObject("Redemption.SafeMailItem") 'Create an
instance of Redemption.SafeMailItem
Set outItem = outApp.CreateItem(0) 'Create a new Mail Item
redSafeItem.Item = outItem 'set Item property
'Add recipients
For lngNdx = 0 To UBound(strEMail_Recipient)
strItem = Trim$(strEMail_Recipient(lngNdx))
If Len(strItem) Then
Set outRec = redSafeItem.Recipients.Add(strItem)
outRec.Type = 1 'To
Else
Exit For
End If
Next lngNdx
'redSafeItem.Recipients.ResolveAll
redSafeItem.Subject = strEMail_Subject
'Rest are optional
'CCs
For lngNdx = 0 To UBound(strEMail_CC)
strItem = Trim$(strEMail_CC(lngNdx))
If Len(strItem) Then
Set outRec = redSafeItem.Recipients.Add(strItem)
outRec.Type = 2 'CC
Else
Exit For
End If
Next lngNdx
'redSafeItem.Recipients.ResolveAll
'BCC
For lngNdx = 0 To UBound(strEMail_BCC)
strItem = Trim$(strEMail_BCC(lngNdx))
If Len(strItem) Then
Set outRec = redSafeItem.Recipients.Add(strItem)
outRec.Type = 3 'BCC
Else
Exit For
End If
Next lngNdx
redSafeItem.Recipients.ResolveAll
If Len(strEMail_Body) Then redSafeItem.Body = strEMail_Body
'Attachments
For lngNdx = 0 To UBound(strEMail_AttachmentFName)
strItem = Trim$(strEMail_AttachmentFName(lngNdx))
If Len(strItem) Then
redSafeItem.Attachments.Add strItem, 1, CLng(Len(strEMail_Body) + 5)
'Embed by value, position
Else
Exit For
End If
Next lngNdx
'If Len(strEMail_AttachmentFName) Then redSafeItem.Attachments.Add
strEMail_AttachmentFName
redSafeItem.Send 'puts in outbox or actually sends it
EMail_SendMail = True
Set outItem = Nothing
Set redSafeItem = Nothing
Set outNameSpace = Nothing
Set outApp = Nothing
GoTo EMail_SendMail_Exit
EMail_SendMail_Err:
MsgBox Err.Description, vbOKOnly Or vbExclamation, "EMail_SendMail"
EMail_SendMail_Exit:
'let objects fall out of reference
End Function
Bruce H. Johnson
Sylmar, CA
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Christopher
Hawkins
Sent: Wednesday, June 29, 2005 4:40 PM
RE: REDEMPTION
Private Sub Blah()
Dim SafeItem, oItem
Set SafeItem = CreateObject("Redemption.SafeMailItem") 'Create an
instance of Redemption.SafeMailItem
Set oItem = Application.CreateItem(0) 'Create a new message
SafeItem.Item = oItem 'set Item property
SafeItem.Recipients.Add "clh at christopherhawkins.com"
SafeItem.Recipients.ResolveAll
SafeItem.Subject = "Testing Redemption"
SafeItem.Send
End Sub
[/CODE]
This code is triggered form a button click on a form.
When I run the code, I get an error message:
"Method or data member not found"
The error is on the .CreateItem method in the line that sets oItem to a new
item.
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com