"special" recuring appointment...

  • Thread starter Thread starter Duncan McC
  • Start date Start date
D

Duncan McC

Hi,

I found some code in this group that I'd like to use and modify to
create a recurring appointment, for:
* the 2nd Tuesday of every month, plus one day.

(This is to remind me to check server's n' stuff for MS monthly
updates).

In New Zealand though (17hrs ahead of the US approx), creating an
appointment for the 2nd *Wednesday* of every month, simply doesn't work
on a surprisingly often basis (eg. have a look at this month (April)).

So I want to create a recurring appointment for the 2nd Tuesday of every
month, plus one day (ie the next day after that).

Can the code below be mod'd to make this a go'er?

Private Sub cmdAddAppt_Click()
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 = Me!ApptStartDate & " " & Me!ApptTime
.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
' .PatternStartDate = #12/19/2003#
.PatternStartDate = Me!ApptStartDate
'You could get these values
'from new text boxes on the form.
' .PatternEndDate = #7/23/2003#
.PatternEndDate = Me!ApptEndDate
End With

.Save
.Close (olSave)
End With
'Release the AppointmentItem object variable.
Set objAppt = Nothing
End If

'Release the Outlook object variable.
Set objOutlook = Nothing

'Set the AddedToOutlook flag, save the record, display a
message.
Me!AddedToOutlook = True
DoCmd.RunCommand acCmdSaveRecord
MsgBox "Appointment Added!"

Exit Sub

Add_Err:
MsgBox "Error " & Err.Number & vbCrLf & Err.Description
Exit Sub

End Sub
 
I'd use the UI to create one appointment, then access it by code, and see
the values of the properties.

--
Best regards
Michael Bauer - MVP Outlook

: Outlook Categories? Category Manager Is Your Tool
: VBOffice Reporter for Data Analysis & Reporting
: <http://www.vboffice.net/product.html?pub=6&lang=en>


Am Wed, 8 Apr 2009 15:23:38 +1200 schrieb Duncan McC:
 
Cheers Michael,

What is the line of code I need to access an appointment, say titled
"test001"?

TIA
 
If it's the current open item, you can access it this way:
Dim Appt as Outlook.AppointmentItem
Set Appt=Application.ActiveInspector.CurrentItem

--
Best regards
Michael Bauer - MVP Outlook

: Outlook Categories? Category Manager Is Your Tool
: VBOffice Reporter for Data Analysis & Reporting
: <http://www.vboffice.net/product.html?pub=6&lang=en>


Am Thu, 9 Apr 2009 11:29:44 +1200 schrieb Duncan McC:
 
Back
Top