Presumably the Outlook library. Look for Microsoft Outlook n.0 Object
Library, where n should be 8 for Outlook 97, 9 for Outlook 2000, 10 for
Outlook 2002, 11 for Outlook 2003 and 12 for Outlook 2007.
Another alternative is to use Late Binding, which means you don't have to
set a reference.
Change
Dim objOutlook As Outlook.Application
Dim objAppt As Outlook.AppointmentItem
Dim objRecurPattern As Outlook.RecurrencePattern
to
Dim objOutlook As Object
Dim objAppt As Object
Dim objRecurPattern As Object
and define all of the intrinsic Outlook constants you're using:
Const olAppointmentItem As Long = 1
Const olRecursWeekly As Long = 1
Const olSave As Long = 0
--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)
"PJFry" <(E-Mail Removed)> wrote in message
news:EBC018E6-042F-4A92-B11C-(E-Mail Removed)...
>I just got a new computer at work and a piece of code that has always
>worked
> is now giving me the 'User-defined type not defined' error. I think it is
> because I am am missing a reference library, but I don't know which one.
> The
> point it errors is between the => <=
>
>
> On Error GoTo Add_Err
> 'Save record first to be sure required fields are filled.
> DoCmd.RunCommand acCmdSaveRecord
> 'Exit the procedure if appointment has been added to Outlook.
> If Me!AddedToOutlook = True Then
> MsgBox "This appointment is already added to Microsoft Outlook"
> Exit Sub
> 'Add a new appointment.
> Else
> => Dim objOutlook As Outlook.Application <=
> Dim objAppt As Outlook.AppointmentItem
> Dim objRecurPattern As Outlook.RecurrencePattern
> Set objOutlook = CreateObject("Outlook.Application")
> Set objAppt = objOutlook.CreateItem(olAppointmentItem)
> With objAppt
> .Start = Date + 1 & " " & Time()
> .Duration = Me!ApptLength
> .Subject = Me!Appt
> If Not IsNull(Me!ApptNotes) Then .Body = Me!ApptNotes
> If Not IsNull(Me!ApptLocation) Then .Location = Me!ApptLocation
> If Me!ApptReminder Then
> .ReminderMinutesBeforeStart = Me!ReminderMinutes
> .ReminderSet = True
> End If
> Set objRecurPattern = .GetRecurrencePattern
>
> With objRecurPattern
> .RecurrenceType = olRecursWeekly
> .Interval = 1
> 'Once per week
> 'You can hard-wire in these dates or get the
> 'information from text boxes, as used here.
> '.PatternStartDate = #12/1/2003#
> .PatternStartDate = Me!ApptStartDate
> '.PatternEndDate = #12/30/2003#
> .PatternEndDate = Me!ApptEndDate
> End With
> .Save
> .Close (olSave)
> End With
> 'Release the AppointmentItem object variable.
> Set objAppt = Nothing
> End If
> 'Release the object variables.
> Set objOutlook = Nothing
> '...Set objRecurPattern = Nothing
> 'Set the AddedToOutlook flag, save the record, display
> 'a message.
> 'Me!AddedToOutlook = True
> DoCmd.RunCommand acCmdSaveRecord
> MsgBox "Ok, I have just scheduled a meeting between you and Mr. Mark
> Johnson, President of Wyndham Consumer Finance. You can explain to him
> why
> you cannot follow a simple direction.", vbOKOnly, "You're so hosed..."
> Exit Sub
> Add_Err:
> MsgBox "Error " & Err.Number & vbCrLf & Err.Description
> Exit Sub
> End Sub
>
> Thoughts?
>
> Thanks in advance!
> PJ