I've come across this site, and used their code:
http://www.jephens.com/2007/05/13/ho...using-outlook/
I commented out all the subjectline, bodyfile, and fso stuff cuz none of that pertains to me.
However, I'm getting a "Run-time error '287': Application-defined or object-defined error" at line 78 (code below). I have these References checked:
Visual Basic for Applications
Microsoft Access 12.0 Object Library
Microsoft Outlook 12.0 Object Library
OLE Automation
Microsoft ActiveX DataObjects 2.1 Library
Microsoft Office 12.0 Object Library
Microsoft ADO Ext. 6.0 for DDL and Security
Microsoft DAO 3.6 Object Library
This is my button code. Line 78 is where I get the error:
Code:
Option Compare Database
Option Explicit
Private Sub Command6_Click()
Dim db As DAO.Database
Dim MailList As DAO.Recordset
Dim MyOutlook As Outlook.Application
Dim MyMail As Outlook.MailItem
'Dim Subjectline As String
'Dim BodyFile As String
'Dim fso As FileSystemObject
'Dim MyBody As TextStream
'Dim MyBodyText As String
'Set fso = New FileSystemObject
' First, we need to know the subject.
' We can??t very well be sending around blank messages...
' Subjectline$ = InputBox$("Please enter the subject line for this mailing.", _
"We Need A Subject Line!")
' If there??s no subject, call it a day.
'If Subjectline$ = "" Then
'MsgBox "No subject line, no message." & vbNewLine & vbNewLine & _
'"Quitting...", vbCritical, "E-Mail Merger"
'Exit Function
'End If
' Now we need to put something in our letter...
'BodyFile$ = InputBox$("Please enter the filename of the body of the message.", _
'"We Need A Body!")
' If there??s nothing to say, call it a day.
'If BodyFile$ = "" Then
'MsgBox "No body, no message." & vbNewLine & vbNewLine & _
'"Quitting...", vbCritical, "I Ain??t Got No-Body!"
'Exit Function
'End If
' Check to make sure the file exists...
'If fso.FileExists(BodyFile$) = False Then
'MsgBox "The body file isn??t where you say it is. " & vbNewLine & vbNewLine & _
'"Quitting...", vbCritical, "I Ain??t Got No-Body!"
'Exit Function
'End If
' Since we got a file, we can open it up.
'Set MyBody = fso.OpenTextFile(BodyFile, ForReading, False, TristateUseDefault)
' and read it into a variable.
'MyBodyText = MyBody.ReadAll
' and close the file.
'MyBody.Close
' Now, we open Outlook for our own device..
Set MyOutlook = New Outlook.Application
' Set up the database and query connections
Set db = CurrentDb()
Set MailList = db.OpenRecordset("quSecurityEmailAddressesTest")
' This creates the e-mail
' We need to move it BEFORE we start the loop, since
' we don't want to make a bunch of e-mails, we just want one.
Set MyMail = MyOutlook.CreateItem(olMailItem)
' now, this is the meat and potatoes.
' this is where we loop through our list of addresses,
' adding them to the RECIPIENTS collection
Do Until MailList.EOF
' This adds the address to the list of recipients
MyMail.Recipients.Add MailList("Primary_Email")
'And on to the next one...
MailList.MoveNext
Loop
' This addresses it
'MyMail.To = MailList("Primary_Email")
'This gives it a subject
'MyMail.Subject = Subjectline$
'This gives it the body
'MyMail.Body = MyBodyText
'If you want to send an attachment
'uncomment the following line
'MyMail.Attachments.Add "c:myfile.txt", olByValue, 1, "My Displayname"
' To briefly describe:
' "c:myfile.txt" = the file you want to attach
'
' olByVaue = how to pass the file. olByValue attaches it, olByReference creates a shortcut.
' the shortcut only works if the file is available locally (via mapped or local drive)
'
' 1 = the position in the outlook message where to attachment goes. This is ignored by most
' other mailers, so you might want to ignore it too. Using 1 puts the attachment
' first in line.
'
' "My Displayname" = If you don??t want the attachment??s icon string to be "c:myfile.txt" you
' can use this property to change it to something useful, i.e. "4th Qtr Report"
'This sends it!
'MyMail.Send
'Some people have asked how to see the e-mail
'instead of automaticially sending it.
'Uncomment the next line
'And comment the "MyMail.Send" line above this.
MyMail.Display
'Cleanup after ourselves
Set MyMail = Nothing
'Uncomment the next line if you want Outlook to shut down when its done.
'Otherwise, it will stay running.
'MyOutlook.Quit
Set MyOutlook = Nothing
MailList.Close
Set MailList = Nothing
db.Close
Set db = Nothing
End Sub
Any ideas?